annop suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5...

77
ระบบควบคุมคอมพิวเตอร์ผู้เรียน Lock Input Device Client and Shutdown Multiclient System อรรณพ สุวรรณบารุงสุข Annop Suwanbumrungsuk สารนิพนธ์ฉบับนี ้เป็นส่วนหนึ ่งของการศึกษา หลักสูตรวิทยาศาตรมหาบัณฑิต สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการและเทคโนโลยีสารสนเทศ มหาวิทยาลัยเทคโนโลยีมหานคร ปีการศึกษา 2555

Upload: others

Post on 05-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

ระบบควบคมคอมพวเตอรผเรยน

Lock Input Device Client and Shutdown Multiclient System

อรรณพ สวรรณบ ารงสข

Annop Suwanbumrungsuk

สารนพนธฉบบนเปนสวนหนงของการศกษา

หลกสตรวทยาศาตรมหาบณฑต สาขาวชาเทคโนโลยสารสนเทศ

คณะวทยาการและเทคโนโลยสารสนเทศ

มหาวทยาลยเทคโนโลยมหานคร

ปการศกษา 2555

Page 2: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

I

หวขอโครงงาน ระบบควบคมคอมพวเตอรผเรยน

นกศกษา นายอรรณพ สวรรณบ ารงสข

รหสนกศกษา 5317680008

หลกสตร วทยาศาสตรมหาบณฑต สาขาเทคโนโลยสารสนเทศ

ปการศกษา 2555

อาจารยผควบคมโครงงาน ดร.วรพล ลลาเกยรตสกล

บทคดยอ

ระบบควบคมคอมพวเตอรผเรยน เปนการน าเสนอวธในการควบคมคอมพวเตอรของ

ผเรยนไมใหสามารถใชงานคอมพวเตอรไดในขณะทครผสอนก าลงบรรยาย โดยการปดกน

อปกรณอนพตคอมพวเตอรของผเรยนซงประกอบดวย หนาจอ เมาส และคยบอรดไมให

สามารถใชงานได ซงในโปรแกรมยงประกอบไปดวยฟงกชนการสงขอความ ฟงกชนตรวจสอบ

สถานะเปดเครองคอมพวเตอร และฟงกชนในการสงปดหรอรสตารทเครองคอมพวเตอรของ

ผเรยนไดเมอหมดคาบเรยน ระบบนชวยอ านวยความสะดวกในการควบคมไมใหนกเรยนแอบ

เลนเกมหรอเขาเวบไซตในขณะทครผสอนก าลงบรรยาย อกทงเมอเลกใชงานหองปฏบตการ

คอมพวเตอรแลวกสามารถสงค าสงปดเครองคอมพวเตอรของผเรยนไดทงหองเพอลดปญหา

นกเรยนใชงานคอมพวเตอรแลวไมปดเครอง

Page 3: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

II

กตตกรรมประกาศ

สารนพนธโครงงานนส าเรจลลวงไดดวยความเมตตาของอาจารยทปรกษาโครงงาน ดร.วรพล ลลาเกยรตสกล ซงไดใหค าแนะน าและขอคดเหนตางๆ มาโดยตลอด รวมถงอาจารยทกๆ ทานของคณะวทยาการและเทคโนโลยสารสนเทศ มหาวทยาลยเทคโนโลยมหานคร ทไดถายทอดความร ประสทธประสาทวชา อกทงชวยเหลอสนบสนนและยนดใหค าปรกษารวมถงเพอนนกศกษาสาขาวชาการบรหารจดการเครอขายและระบบทชวยเหลอใหความรในเรองทขาพเจาไมเคยทราบมากอน ขาพเจาจงขอขอบพระคณอาจารย และขอบคณผทไดใหความชวยเหลอมา ณ โอกาสน

อรรณพ สวรรณบ ารงสข

ตลาคม 2555

Page 4: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

III

สารบญ

หนา

บทคดยอภาษาไทย I

กตตกรรมประกาศ II

สารบญ III

สารบญรป V

สารบญตาราง VIII

บทท 1 บทน า

1.1 ปญหาและแรงจงใจ 1

1.2 แนวทางการแกปญหา 1

1.3 วตถประสงค 2

1.4 ภาพรวมของระบบ 2

1.5 ขอบเขตของโครงงาน 3

1.6 โครงสรางของสารนพนธ 3

บทท 2 ทฤษฎทเกยวของ

2.1 ระบบเครอขายแลน ( LAN : Local area network) 4

2.2 ความรท วไปเกยวกบเครอขาย 4

2.3 โพรโทคอล(Protocol) 9

2.4 โพรโทคอลทซพ 11

2.5 พอรต(Port) 14

2.6 ซอกเกต 15

2.7 การโปรแกรมซอกเกต( Socket Programming) 20

Page 5: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

IV

สารบญ ( ตอ )

หนา

2.8 คลาสทจ าเปนในการเขยนโปรแกรมทางเนตเวรคดวย C# 20

2.9 คลาส ซอกเกต 24

2.10 การใชงานคลาสชวยเหลอ 27

2.11 Windows Event Programing 29

2.12 Using Events and Delegates 30

2.13 The AsyncCallback Class 32

2.14 Using Asynchronous Sockets 33

บทท 3 การออกแบบ

3.1 คณสมบตทตองการใหโปรแกรมมและแนวคดในการพฒนา 38

3.2 โครงสรางโดยรวมของโครงงานโปรแกรมควบคมคอมพวเตอรผเรยน 40

3.3 ขนตอนการท างานทางดานเครอขาย 41

3.4 ออกแบบหนาตาของโปรแกรมควบคมคอมพวเตอรผเรยน 47

บทท 4 ผลการทดลอง

4.1 สภาพแวดลอมทใชส าหรบการทดลอง 48

4.2 วธและผลการทดลอง 49

4.3 สรปผลการทดลอง 56

บทท 5 สรปผลโครงงาน

5.1 ขอสรปผลการด าเนนงาน 57

5.2 ปญหาและอปสรรคการด าเนนงาน 57

5.3 แนวทางในการพฒนาตอ 57

Page 6: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

V

สารบญ ( ตอ )

หนา

เอกสารอางอง 58

ภาคผนวก 59

ภาคผนวก ก วธตดตงโปรแกรมควบคมคอมพวเตอรผเรยน 59

ภาคผนวก ข คมอการใชงานโปรแกรมควบคมคอมพวเตอรผเรยน 63

Page 7: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

VI

สารบญรป

ชอรป หนา

รปท 1.1 ภาพการท างานโดยรวมของระบบควบคมคอมพวเตอรผเรยน 2

รปท 2.1 ระบบเครอขายทองถน 4

รปท 2.2 การแจกไอพแอดเดรสแบบชวคราว 5

รปท 2.3 เปรยบเทยบโพรโทคอลแบบอางองโอเอสไอและ โพรโทคอลทซพ ไอพ 10

รปท 2.4 การแลกเปลยนของเซกเมนตของโพรโทคอลทซพ 11

รปท 2.5 ลกษณะการสงขอมลของโพรโตคอลทซพ 13

รปท 2.6 ลกษณะการสงขอมลของโพรโตคอลทซพทผเขยนตองจกการแยกขอมลเอง 13

รปท 2.7 Diagram ขนตอนการสราง Passive Sockets 19

รปท 2.8 Diagram ขนตอนการสราง Active Sockets 19

รปท 2.9 window event program 30

รปท 2.10 demonstrates 31

รปท 2.11 รปแบบการใชงานเมธทอด BeginAccept() 33

รปท 2.12 รปแบบการใชงานเมธทอด EndAccept() 34

รปท 2.13 รปแบบการใชงานเมธทอด BeginConnect() 35

รปท 2.14 รปแบบการใชงานเมธทอด EndConnect 36

รปท 2.15 รปแบบการใชงานเมธทอด EndSend() 37

รปท 2.16 รปแบบการใชงานเมธทอด EndReceive() 37

รปท 3.1 แสดงฟงกชนหลกทโปรแกรมควบคมคอมพวเตอรผเรยนตองม 38

รปท 3.2 แนวคดในการเชอมตอโดยใช Asynchronous 39

Page 8: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

VII

สารบญรป ( ตอ )

ชอรป หนา

รปท 3.3 แสดงโครงสรางโดยรวมของระบบ 40

รปท 3.4 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนสงขอความ 41

รปท 3.5 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนลอกอปกรณอนพตผเรยน 42

รปท 3.6 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนปลดลอกอปกรณอนพต 43

รปท 3.7 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนปดเครองผเรยน 44

รปท 3.8 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนปดเครองผเรยน 45

รปท 3.9 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนรสตารทเครองผเรยน 46

รปท 3.10 หนาตาโปรแกรมควบคมผเรยนฝงแมขาย 47

รปท 3.11 หนาตาโปรแกรมควบคมผเรยนฝงลกขาย 48

รปท 4.1 แสดงภาพรวมของหองปฏบตการคอมพวเตอร 48

รปท 4.2 แสดงการเรมโปรแกรมของเครองแมขาย 49

รปท 4.3 แสดงการนบจ านวนเครองลกขายทเขามาเชอมตอ 49

รปท 4.4 แสดงขอความ Welcome ทโปรแกรมเครองผเรยน 50

รปท 4.5 โปรแกรมเครองผเรยนไมสามารถเชอมตอกบเครองควบคมได 50

รปท 4.6 แสดง กระบวนการเกด 3 way handshake ท Port 5000 51

รปท 4.7 แสดงฟงกชนการขอความไปใหกบเครองผเรยน 51

รปท 4.8 แสดงขอความทเกดขนทชอง Teacher message 52

รปท 4.9 แสดงขอความทเครองลกขายไดรบ 52

Page 9: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

VIII

สารบญรป ( ตอ )

ชอรป หนา

รปท 4.10 แสดงการทดสอบฟงกชนการปดอปกรณอนพตเครองผเรยน 53

รปท 4.11 แสดงผลทเกดกบเครองลกขายเมอใชฟงกชนลอกอปกรณอนพตเครองผเรยน 53

รปท 4.12 แสดงการใชงานฟงกชนปลดลอกอปกรณอนพตเครองผเรยน 54

รปท 4.13 แสดงการใชงานฟงกชนปดเครองผเรยน 54

รปท 4.14 แสดงการใชงานฟงกชนปดเครองผเรยน 55

รปท 4.15 แสดงฟงกชนการยกเลกการปดเครองผเรยน 55

รปท 4.16 แสดงฟงกชนการรสตารทเครองผเรยน 56

รปท ก.1 หนาจอโปรแกรมควบคมคอมพวเตอรผเรยนฝ งควบคม 60

รปท ก.2 การตดตงโปรแกรมควบคมคอมพวเตอรผเรยนฝ งลกขาย 61

รปท ก.3 หนาจอโปรแกรมควบคมคอมพวเตอรผเรยนฝ งลกขาย 62

รปท ข.1 เรมสตารทโปรแกรมควบคมคอมพวเตอรผเรยน 64

รปท ข.2 การใชงานฟงกชนสงขอความ 65

รปท ข.3 ขนตอนการใชงานฟงกชนลอคเครองคอมพวเตอรของผเรยน 66

รปท ข.4 ขนตอนการใชงานฟงกชนปลดลอคเครองคอมพวเตอรของผเรยน 66

รปท ข.4 ขนตอนการใชงานฟงกชนปดเครองคอมพวเตอรของผเรยน 66

รปท ข.5 ขนตอนการใชงานฟงกชนยกปดเครองคอมพวเตอรของผเรยน 67

รปท ข.6 ขนตอนการใชงานฟงกชนรสตารทเครองคอมพวเตอรของผเรยน 67

Page 10: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

IX

สารบญตาราง

ตารางท หนา

ตารางท 2.1 ไอพแอดเดรสทเปนเลขฐานสองและฐานสบ 6

ตารางท 2.2 ไอพแอดเดรสของแตละคลาส 7

ตารางท 2.3 ตวอยาง เนตเวรคไอดกบ โฮสตไอดของไอพแอดเดรสคลาส A 7

ตารางท 2.4 ตวอยาง เนตเวรคไอดกบ โฮสตไอดของไอพแอดเดรสคลาส B 7

ตารางท 2.5 ตวอยาง เนตเวรคไอดกบ โฮสตไอดของไอพแอดเดรสคลาส C 8

ตารางท 2.6 คาซบเนตมาสค 8

ตารางท 2.7 หมายเลขพอรตของบางแอพพลเคชน 14

ตารางท 2.8ฟงกชนส าคญของคลาส IPAddress 21

ตารางท 2.9 Fields ทส าคญของคลาส IPAddress 21

ตารางท 2.10 Properties ส าคญของคลาส IPHostEntry 22

ตารางท 2.11 ฟงกชนส าคญของคลาส Dns 22

ตารางท 2.12 ฟงกชนส าคญของคลาส Encoding 23

ตารางท 2.13 Properties ทส าคญของคลาส Encoding 24

ตารางท 2.14 ฟงกชนส าคญของคลาส Socket 25

ตารางท 2.15 ฟงกชนส าคญของคลาส TcpClient 27

ตารางท 2.16 ฟงกชนส าคญของคลาส TcpListener 28

ตารางท 2.17 ฟงกชนทส าคญของคลาส NetworkStream 29

ตารางท 2.18 .Net asynchronous Socket methods 32

ตารางท 3.1 แสดงชนดของขอความโพรโทคอลและหนาท 39

Page 11: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

1

บทท 1

บทน า

1.1 ปญหาและแรงจงใจ ในปจจบนเทคโนโลยสารสนเทศและการสอสารมความส าคญยงตอการพฒนาประเทศในทกๆดานเนองจากโลกปจจบนกาวเขาสโลกแหงการสอสารไรพรมแดนอยางรวดเรว เกดเปนสงคมสารสนเทศและสงคมเศรษฐกจทอาศยฐานความรหรอปญญาเปนอาวธในการแขงขน นกเรยน นกศกษา ตองไดรบการศกษาซงเปนสงทตองปลกฝงตงแตยงเยาวตองเนนหนกในการทจะใหเยาวชนสามารถใชเทคโนโลยสารสนเทศและการสอสารเปนเครองมอแสวงหาความร และขอมลขาวสารเพอน ามาใชในชวตประจ าวนและการท างานในหนาททรบผดชอบไดอยางถกตองและเหมาะสม ทงนหากกลาวถงเทคโนโลยสารสนเทศ กหนไมพนทจะตองกลาวถงคอมพวเตอร คอมพวเตอรไดเขามามบทบาทอยางมากในชวตประจ าวนทงทบาน และหนวยงานตางๆ ทงของรฐบาล รฐวสาหกจและเอกชน ดวยเหตนการศกษาหาความรดานคอมพวเตอร เพอการใชในชวตประจ าวนจงเปนสงจ าเปน การเรยนการสอนในสถาบนศกษาจงตองมการบรรจรายวชาทางดานคอมพวเตอรเพอใหนกเรยน นกศกษา ไดความรและเกดทกษะทถกตองในการใชงานคอมพวเตอร เนองจากปจจบนผจดท าไดท างานเปนเจาหนาทคอมพวเตอรของโรงเรยนมธยมแหงหนงโรงเรยนแหงนมหองปฏบตการคอมพวเตอรทใชในการเรยนการสอนวชาคอมพวเตอรผจดท าไดสงเกตบรรยากาศของการเรยนในหองปฏบตการคอมพวเตอร วาเมอครเรมสอนจะมนกเรยนบางคนไมสนใจในการเรยน ในชวงทครก าลงบรรยายใหฟง กมกจะใชงานคอมพวเตอรท าอยางอน เชน เขาเวบไซดตางๆ หรอนงเลนเกม ท าใหตวนกเรยนเองไมเขาใจเนอหาทสอน และท างานทไดรบมอบหมายไมเสรจตามเวลาทก าหนด และปญหาอกอยางกคอนกเรยนบางคนเมอใชงานคอมพวเตอรเสรจแลวไมปดเครองคอมพวเตอรท าใหครผสอนตองเสยเวลาในการเดนส ารวจวาเครองคอมพวเตอรเครองไหนยงไมไดปดเครองแลวท าการปดทละเครองจนหมด

1.2 แนวทางการแกปญหา จากปญหาขางตนท าใหผจดท ามแนวคดวาจะท าอยางไรทจะใหครผสอนสามารถควบคม

การใชงานเครองคอมพวเตอรของนกเรยนได โดยสามารถควบคมเครองไมใหนกเรยนสามารถใชงานไดในขณะทครผสอนก าลงบรรยาย เชนเมอครผสอนก าลงบรรยาย ครผสอนตองการใหนกเรยนฟงค าบรรยายกสามารถสงเครองคอมพวเตอรนกเรยนไมใหสามารถใชงานได และเมอครผสอนตองการใหเครองคอมพวเตอรของนกเรยนสามารถกลบมาใชงานไดตามปกตกสามารถท าได โดยการสงค าสงไปทเครองคอมพวเตอรของนกเรยนแลวท าใหเครองของนกเรยนสามารถใชงานไดตามปกต รวมถงสามารถสงขอความไปหาเครองของนกเรยนไดอกทงเมอเลกใชงาน

Page 12: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

2

หองปฏบตการคอมพวเตอรแลวกสามารถสงปดเครองของนกเรยนทงหองได เพอลดปญหานกเรยนไมยอมปดเครองหลงใชงานแลว

1.3 วตถประสงค

1.3.1 เพอใชควบคมพฤตกรรมของผเรยนใหมสมาธในการเรยนมาก

1.3.2 เพอความสะดวกในการตรวจสอบวาเครองคอมพวเตอรเครองใดยงไมปดเครอง

1.3.3 เพอลดคาใชจายของสถาบนการศกษาทใชในการซอโปรแกรมควบคมหองเรยน

1.3.4 เพอลดการสงปดเครองคอมพวเตอรแบบผดวธ เชนการตดกระแสไฟฟา เปนตน

1.4 ภาพรวมของระบบ

ระบบโดยรวมจะมเครองทใชในการควบคมหนงเครองซงเปนเครองของครผสอนและเครองลกขายทเปนเครองของนกเรยนมจ านวนสสบเครอง ทกเครองตดตงระบบปฏบตการวนโดวสเอกซพ

Server

Client1

Client2

Client3

Client40

Send Message

Lock Input

Shutdown

Restart

Un Lock Input

Monitor

Process

รปท 1.1 ภาพการท างานโดยรวมของระบบควบคมคอมพวเตอรผเรยน

จากรปท 1.1 ระบบควบคมคอมพวเตอรผเรยนมฟงกชนการท างานตางไดแก ตรวจสอบการเปดเครองของผเรยน(Monitor) การสงขอความถงเครองผเรยน (Send Message) การปดไมใหเครองผเรยนใชอปกรณอนพตได(Lock Input) การเปดใหเครองผเรยนใชอปกรณอนพตไดตามปกต (Un Lock Input) รวมถงการสงปดเครองหรอรสตารทผเรยนได(Shutdown ,Restart)

Page 13: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

3

1.5 ขอบเขตของโครงงาน

สงทจ ดท า ในโครงการมดงน ผ จ ดท าตองการพฒนาโปรแกรมทท างานบนระบบปฏบตการวนโดวโดยใชภาษาซชารปในการพฒนาเพอแกปญหาตามขอ 1.1ท าใหครผสอนสามารถควบคมเครองคอมพวเตอรของนกเรยนในหองปฏบตการคอมพวเตอรของสถาบนการศกษาของตนเองไดขอบเขตโครงงานไดแก

1.5.1 โปรแกรมเครองควบคมสามารถทราบไดวาในหองเรยนมเครองคอมพวเตอรของผเรยนเปดอยหรอไม เปนจ านวนกเครอง และสามารถเหนชอเครองพรองทงไอพแอดเดรสของเครองทเปดอยได

1.5.2 โปรแกรมเครองควบคมสามารถสงขอความไปใหเครองผเรยนทงหองได

1.5.3 โปรแกรมเครองควบคมสามารถสงค าสงปดการใชงานอปกรณอนพตเครองผเรยนซงไดแก หนาจอ เมาสกบคยบอรด ไดและเมอตองการใหสามารถกลบมาใชงานไดตามปกตกสามารถท าไดโดยการสงค าสงจากเครองควบคม

1.5.4. โปรแกรมเครองควบคมสามารถสงค าสงปดเครองหรอรสตารทเครองผเรยนได

1.6 โครงสรางของสารนพนธ

1.6.1 บทท 2 ความรพนฐานทเกยวของกบการจดท าโครงงาน ทฤษฏทเกยวของและเครองมอตางๆ ทใชในการจดท าโครงงาน

1.6.2 บทท 3 การออกแบบระบบกลาวถง วธและขนตอน กระบวนการด าเนนในการสรางโปรแกรมตงแตกระบวนการออกแบบจนกระทงการเขยนโปรแกรม

1.6.3 บทท 4 ผลการทดลอง กลาวถง ผลจากการด าเนนในบทท 3

1.6.4 บทท 5 สรปผลโครงงาน กลาวถง ผลลพธทไดจากการด าเนนงาน และขอเสนอแนะในการน าโครงงานไปประยกตใช

Page 14: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

4

บทท 2

ทฤษฎทเกยวของ

2.1 ระบบเครอขายแลน ( LAN : Local area network)

ระบบเครอขายแลน เปนระบบทใชงานอยในบรเวณทไมกวางนก โดยอาจตดตงอยภายในอาคารเดยวกนหรอใกลเคยงกน เชน เครอขายภายในออฟฟศ , ส านกงาน และมกเชอมโยงกนดวยสอความเรวสง การตดตงสามารถท าไดงายๆ ส าหรบอปกรณนนสามารถหาไดงายและราคาถก มทงแบบไรสายและใชสาย ในปจจบนไดรบความนยมน ามาตดตงไวใชในบาน รปแบบโครงสรางระบบเครอขายแลนแสดงดงรปท 2.1

รปท 2.1 ระบบเครอขายทองถน [1]

2.2 ความรทวไปเกยวกบเครอขาย

2.2.1 แมคแอดเดรส(MAC Address)

ยอมาจาก Media Access Card Addressเปนตวเลขทก าหนดใหอปกรณเครอขาย โดยจะมตวเลขไมซ ากน มขนาด 6 ไบต(48 บต) ประกอบดวย 3 ไบตแรก บอกรหสผผลต 3 ไบตสดทายเปนตวเลขของอปกรณ แมคแอดเดรสมตวเลขเปนเลขฐาน 16 อาจจะใชวธเขยนไดหลายรปแบบ เชน การใชโคลอนขนxx:xx:xx:xx:xx:xx การใชชางวาง xx xx xx xx xx xx การใช – ขนระหวาง 3 ตวเลขแรกกบ 3 ตวเลขหลง xxxxxx-xxxxxx

Page 15: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

5

2.2.2 ไอพแอดเดรส(IP Address)

ยอมาจาก Internet Protocol Address เปนหมายเลขประจ าคอมพวเตอรและอปกรณตางๆ ทเชอมตออยในเครอขาย เพอใชระบทอยหรอต าแหนงของคอมพวเตอรและอปกรณโดยไมซ ากนท าใหคอมพวเตอรและอปกรณสามารถตดตอสอสารหรอรบสงขอมลไดอยางถกตอง ไอพแอดเดรสมลกษณะเปนตวเลข 4 กลม แตละกลมจะคนดวยเครองหมายหพภาค (.) เชน 192.168.1.22 ไอพแอดเดรสกเปรยบเทยบไดกบเลขทบาน ซงบานแตละหลงจะตองมเลขทบานทไมซ ากน เพราะถาซ ากนแลว บรษไปรษณยจะหาทอยไมเจอ ท าใหสงจดหมายไมได ไอพแอดเดรสในปจจบนยงคงใชเวอรชน 4 แตในอนาคตจะน าเวอรชน 6 มาใช ( IPV6 )[2]ตามปกตส าหรบผใชอนเทอรเนตตามบานทวไป จะไดไอพแอดเดรสมากตอเมอใชโมเดมเชอมตอไปยงผใหบรการอนเทอรเนต ซงจะไดไอพแอดเดรสมาใชชวคราว 1 หมายเลขทใชไดจรงบนอนเทอรเนต (Public IP Address) ดงแสดงในรปท 2.2 และเมอตดการเชอมตอจากผใหบรการอนเทอรเนตแลว หมายเลขไอพแอดเดรสทไดรบมานกจะถกยกเลก ถาเชอมตอครงใหมกจะไดไอพแอดเดรสชดใหมมาอก เปนแบบนเรอยไป โดยสามารถตรวจดไอพแอดเดรสทไดรบมาจากผใหบรการอนเทอรเนตไดจากการใชค าสง ipconfig บน Command Prompt

ISP

10.54.36.12

User Name & Password

รปท 2.2 การแจกไอพแอดเดรสแบบชวคราว

ยงมการใชไอพแอดเดรสอกแบบหนง คอการไดไอพแอดเดรสแบบคงทโดยไมตอง

เปลยนไปเรอยเหมอนผใชตามบาน ซงจะไดมาจากผใหบรการอนเทอรเนตเชนเดยวกน เชน ได

ไอพแอดเดรสคลาสซ จ านวน 1 คลาส มจ านวนไอพแอดเดรสทสามารถน าไปก าหนดบน

คอมพวเตอรได 254 เลขหมาย สวนใหญแลวการไดรบไอพแอรสเดรสแบบคงทน มกจะเปน

องคกรขนาดกลางและขนาดใหญทมการเชอมตอไปยงผใหบรการอนเทอรเนตโดยใชลสไลนหรอ

โมเดมเอดเอสแอล แตส าหรบเครอขายอนทราเนตนน จะสามารถก าหนดไอพแอดเดรสไดเอง

ตามตองการ โดยใชไอพแอดเดรสแบบภายใน (Private IP Address) และถกก าหนดจากผดแล

ระบบเครอขายในองคกร

Page 16: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

6

เพอความเขาใจทงายขน ไอพแอดเดรสจงถกเขยนใหอยในรปแบบเลขฐานสบทม

เครองหมายมหพภาค(.) คนไว เชน 192.168.0.1 ดงแสดงในตารางท 2.1 แตเวลาเกบคาใน

คอมพวเตอรจะเปนเลขฐานสอง มทงหมด 32 บต แบงเปน 4 กลมๆละ 8 บต ตวเลขแตละกลม

จะเกบคาทเปนตวเลขฐานสองไดถง 256 คา คอตงแต 0 ถง 255

ตารางท 2.1 ไอพแอดเดรสทเปนเลขฐานสองและฐานสบ

� 11000000 10101000 00000000 00000001

� 192 168 0 1

ไอพแอดเดรสประกอบดวยสองสวนหลก คอ เนตเวรคไอด(Network ID) กบ โฮสตไอด

(Host ID) ส าหรบเนตเวรคไอดเปนตวบอกถงขอบเขตเครอขาย โดยไอพแอดเดรสทม เนตเวรค

ไอดเหมอกน หมายความวาอยในเครอขายเดยวกน สวนโฮสตไอดเปนตวก าหนดทอยหรอ

ต าแหนงของคอมพวเตอรหรออปกรณนนๆ ตวอยางเชน มคอมพวเตอรสองเครอง ถกก าหนด

ไอพแอดเดรสทอยในคลาสซ ซงเครองทหนงมไอพแอดเดรส 192.168.10.1 สวนเครองทสองม

ไอพแอดเดรส 192.168.10.2 ท าใหเราบอกไดวาคอมพวเตอรทงสองเครองนอยในเครอขาย

เดยวกน เพราะมเนตเวรคไอดเหมอนกน คอ 192.168.10.x แตโฮสตไอดตางกน คอ 1 และ 2 ท

ระบวาเปนเครองท 1 และ 2 ตามล าดบ สวนทเปนเนตเวรคไอดจะเปลยนแปลงไมได สวนท

เปลยนแปลงไดคอ โฮสตไอดซงน าไปก าหนดใหกบคอมพวเตอรในเครอขาย

ไอพแอดเดรสมการแบงขอบขายออกหลายระดบหรอทเรยกวา “คลาส”(Class) โดยถก

แบงไว 5 คลาส คอ คลาส A,B,C,D และ E แตทใชกนในระบบเครอขายทวไปจะใชกน 3 คลาส

คอ A,B,C สวนคลาส D เอาไวใชในเครอขายมลตคลาส( Multicast) และทเหลอคอคลาส E ถก

สงวนไว ไมมการใชงาน ซงดหมายเลขไอพแอดเดรสของแตละคลาสไดในตารางท 2.2

Page 17: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

7

ตารางท 2.2 ไอพแอดเดรสของแตละคลาส

A

B

C

D

E

1.0.0.0 126.255.255.255

128.0.0.0 191.255.255.255

192.0.0.0 223.255.255.255

224.0.0.0 239.255.255.255

240.0.0.0 247.255.255.255

��

126

16,384

2,097,152

-

-

16,777,214

65,534

254

-

-

คลาส A มไอพแอดเดรสทงหมด 126 เครอขาย ในแตละคลาสจะก าหนดไอพแอดเดรส

ได 16 ลานเครองสวนทเปนเนตเวรคไอดคอตวเลขหนงชดทางซาย (8 บต) สวนตวเลขสามชด

หลงทางขวาคอ โฮสตไอด(24บต) ซงสามารถเปลยนแปลงได โดยผดแลระบบเครอขายจะ

ก าหนดสวนทเปน โฮสตไอดเพอแจกจายใหกบคอมพวเตอรในเครอขาย ซงไอพแอดเดรสคลาส

A จะใชกบองคกรขนาดใหญ ดงแสดงในตารางท 2.3

ตารางท 2.3 ตวอยาง เนตเวรคไอดกบ โฮสตไอดของไอพแอดเดรสคลาส A

� A

Network ID Host ID

10 75 110 135

คลาส B มไอพแอดเดรสทงหมด 16,384 เครอขาย ในแตละคลาสจะก าหนดไอพ

แอดเดรสได 65,534 เครองสวนทเปน Network ID คอตวเลขหนงชดทางซาย (16 บต) สวน

ตวเลขสามชดหลงทางขวาคอ Host ID (16บต) ซงไอพแอดเดรสคลาส B เหมาะส าหรบองคกร

ขนาดกลาง ดงแสดงในตารางท 2.4

ตารางท 2.4 ตวอยาง เนตเวรคไอดกบ โฮสตไอดของไอพแอดเดรสคลาส B

� B

Network ID Host ID

128 44 129 60

คลาส C มไอพแอดเดรสทงหมด 2,097,152 เครอขาย ในแตละคลาสจะก าหนดไอพ

แอดเดรสได 254 เครองสวนทเปน เนตเวรคไอดคอตวเลขสามชดแรกทางซาย (24บต) หนงชด

Page 18: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

8

ทเหลอทางขวาคอ โฮสตไอด(8บต) ซงไอพแอดเดรสคลาส Cจะใชในองคกรขนาดเลก ดงแสดง

ในตารางท 2.5

ตารางท 2.5 ตวอยาง เนตเวรคไอดกบ โฮสตไอดของไอพแอดเดรสคลาส C

� C

Network ID Host ID

192 205 81 5

2.2.3 ซบเนตมารค

เปนคาทระบวาคอมพวเตอรเครองนอยในเครอขายใด หรอเปนคาทแบงกลมเครอขาย

โดยตองสอดคลองกบคลาสของไอพแอดเดรส ซบเนตมาสคจะเปนตวเลข 4 ชด เชนเดยวกบไอ

พแอดเดรส แตตะมคาเปน 0 กบ 255 เทานน (บางกรณกเปนคาอนได เมอถกแบงซบเนต)

ซบเนตมาสคมการแบงไวส าหรบไอพแอดเดรสทง 3 คลาส ดงตารางท 2.6

ตารางท 2.6 คาซบเนตมาสค

A

B

C

� �

255.0.0.0

255.255.0.0

255.255.255.0

ซบเนตมาสคส าหรบคลาส A มเลข 255 จ านวนหนงชด คอ 255.0.0.0 หมายความวา

ในเครอขายนจะมไอพแอดเดรสหนงชดแรกทเหมอนกน เชน 10.0.0.1,10.1.50.6,10.2.33.4 จง

ถอวาไอพแอดเดรสทงหมดนอยในเครอขายเดยวกน

ซบเนตมาสคส าหรบคลาส B มเลข 255 จ านวนสองชด คอ 255.255.0.0 หมายความวา

ในเครอขายนจะมไอพแอดเดรสสองชดแรกทเหมอนกน เชน

172.30.9.1,172.30.93.2,172.30.93.77จงถอวาไอพแอดเดรสทงหมดนอยในเครอขายเดยวกน

Page 19: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

9

2.2.4 ไอพแอดเดรสทใชงานในเครอขายสวนตว

เปนไอพแอดเดรสทไมสามารถก าหนดใหกบเครองทวไป สงวนใชในเครอขายสวนตว

เทานน ไมสามารถใชในเครอขายภายนอกอยางอนเทอรเนต

คลาส A คอเครอขาย 10.0.0.0

คลาส B คอเครอขาย 172.16.0.0 – 173.31.0.0

คลาส C คอเครอขาย 192.168.0.0 – 192.168.255.0

2.3 โพรโทคอล(Protocol )

โพรโทคอลเปนมาตรฐานในการสอสารขอมลของคอมพวเตอร หรออาจกลาวไดวาเปน

ภาษาทคอมพวเตอรใชสอสารกน ดงนนการทคอมพวเตอรทตองการสอสารกนจ าเปนตองใช

ภาษาหรอโพรโตคอลเดยวกน เพราะไมเชนนนคอมพวเตอรกจะสอสารกนไมไดปจจบน

โพรโตคอลทเปนทนยมใชมากทสดคอ โพรโทคอลทซพ ไอพ(TCP/IP)ยอมาจากTransmission

Control Protocol/Internet Protocol

โพรโทคอลทซพ ไอพ ถกพฒนามาแลวกวา 20 ป ซงจดประสงคของการวจยกเพอ

เชอมตอคอมพวเตอรทตางแพลตฟอรมกนใหสามารถสอสารกนผานเครอขายได ซงสามารถท า

ไดโดยการแบงโพรโทคอลเปนชน และเปนการแยกการท างานของแอพพลเคชนของผใชออก

จากฮารดแวรทใชรบสงขอมลผานเครอขาย ชดโพรโทคอลนจะมรปแบบทแตกตางจากแบบ

อางองโอเอสไอ( OSI ) เลกนอย การออกชดโพรโทคอลทซพ ไอพ จะมงเนนไปทการเชอมตอ

ระหวางระบบทตางกน ในขณะทแบบอางองโอเอสไอ จะเนนไปทการแบงการท างานของโพร

โทคอลออกเปนชนๆ โพรโทคอลทซพ ไดกลายเปนมาตรฐานกลางในการสอสารขอมลของ

คอมพวเตอร เนองจากเปนภาษาทใชในระบบอนเทอรเนต ดงนนเครอขายสมยใหมจงจ าเปนท

ตองสรางใหสามารถรองรบโพรโทคอลน

Page 20: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

10

7

6

5

4

2

3

1

Application

Physical

Data Link

Network

Presentation

Session

Transport

OSI Reference Model TCP/IP

Application

Transport

Internet

Network Access

FTP,Telnet,HTTP,SNMP,DNS,etc.

TCP UDP

ARP,RARPICMP,IGMP

IP

Not Specified

รปท 2.3 เปรยบเทยบโพรโทคอลแบบอางองโอเอสไอและ โพรโทคอลทซพ ไอพ

รปท 2.3 บนแสดงการเปรยบเทยบชนของโพรโทคอลระหวางแบบอางองโอเอสไอ และ

ทซพ ไอพ ซงแบงโพรโทคอลออกเปน 4 เลเยอร คอ ชนประยกตใชงาน (Application Layer),

ชนทรานสปอรท(Transport Layer),ชนอนเทอรเนต(Internet)และชนเขาใชเครอขาย(Network

Access) การเปรยบเทยบการท างานของโพรโทคอลทซพ ไอพ กบแบบอางองโอเอสไอ นนอาจ

ไมตรงมากนก เพราะมบางโพรโทคอลของ ทซพ ไอพ ทท างานมากกวาหนงชน แตรป

ดงกลาวกเปรยบเทยบใหเหนภาพพอคราวๆ

หลกการท างานของโพรโทคอลทซพ ไอพ สรปไดดงนคอ การสอสารจะเรมจากแอพ

พลเคชนของผใชสงขอมลใหกบโพรโทคอลในชนแอพพลเคชน หลงจากนนชนแอพพลเคชนจะ

เพมขอมลสวนหวซงจะประกอบดวยชอของคอมพวเตอรทตองการสอสาร และหมายเลขพอรต

ของเครองนน ขอมลกจะถกสงตอไปยงชนทรานสปอรท ซงอาจจะใชโพรโทคอลทซพ(TCP)

หรอ ยดพ (UDP) ขนอยกบแอพพลเคชนทใชเมอชนน ไดรบขอมลกจะแบงขอมลออกเปน

สวนยอยๆ ซงแตสวนจะถกเพมขอมลสวนหวเขาไป ขอมลสวนยอยๆ นจะเรยกวา เซกเมนต

(Segment)

ขอมลสวนหวของแตละเซกเมนตจะถกเพมเขาไปอยางเหมาะสม หลงจากนนแตละเซก

เมนตกจะถกสงตอไปใหชนอนเทอรเนต เมอขอมลมาถงชนนกจะถกเพมขอมลสวนหวใหแตละ

เซกเมนตเชนกน ขอมลทเพมเขาไป เชน หมายเลขไอพ,ประเภทของโพรโทคอลทใช (ทซพ

หรอ ยดพ) และ เชคซม (Checksum) เปนตน ถาขอมลทสงมามการแบงยอยอกกจะมการเพม

Page 21: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

11

ขอมลทเกยวของกบการแบงยอยเพมเขาไปดวย ชดขอมลทอยในชนนจะเรยกวา แพคเกต

(Packet) หลงจากนนแตละแพคเกตขอมลกสงตอไปใหชนเขาใชเครอขาย เพอสงขอมลไปตาม

ชองสอสารตอไป เมอแพกเกตเดนทางไปถงทหมาย เครองปลายทางกจะท าตามขนตอนท

ตรงกนขามกบเครองสง และขอมลกจะถกสงผานตอไปใหแอพพลเคชนเพอน าขอมลไปโพรเชส

ตอไป[1]

2.4 โพรโทคอลทซพ

โพรโทคอลทซทพ ยอมาจาก Transmission Control Protocol โพรโทคอลทซพ

ใหบรการในการรบสงขอมลของโพรโทคอลในระดบชนสอสารท 7 เชน โพรโทคอลเฮชททพ

(HTTP) โพรโทคอลเทลเนต(Telnet) โพรโทคอลเอฟทพ(FTP) เปนตน โพรโทคอลทซพเปนโพร

โทคอลทใหบรการในดานของ ความเชอถอของการสงขอมล (Reliability)การเรยงล าดบของไบต

ของทซพทภาครบกอนสงใหโพรโทคอลในระดบชนสอสารท 7 การแบงยอยและการแบงยอย

เซกเมนต(Segmentation) การควบคมอตราการสง (Flow Control) การตรวจสอบความ

ผดพลาด(Error Detection) การตรวจสอบและแกไขการสญหายของเซกเมนต(Loss

recovery) การควบคมการคบคงของปรมาณทราฟฟกของขอมล (Congestion Control) [3]

L7 L7

TCP Client TCP ServerPeer – to- peer

communication

SYN �

SYN ACK

ACK

DATA

ACK

FIN

FIN ACK

ACK

- �

- � � � �

- � �

- � �

� �

รปท 2.4 การแลกเปลยนของเซกเมนตของโพรโทคอลทซพ

Page 22: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

12

จากรป 2.4 ขนตอนการสรางการเชอมตอของโพรโทคอลทซพแบบเชอถอได คอ ตองม

การเรมตนเชอมตอกนกอนถงจะตดตอกนได คลายการโทรศพททเร มโทรตองรอฝ งตรงขามรบ

ถงจะเรมพดคยเรมตดตอสอสาร การเรมตนตดตอสอสารในโพรโทคอล นมข นตอน 3 ขนตอน

• ฝ งลกขายสงแพคเกตทต งคา SYN flag ไปยงฝ ง แมขาย ขนตอนนเปนการขอเรม

ตดตอนสอสาร

• ฝ งแมขาย สงแพคเกต ทต งคา SYN flagและACK flag กลบไปยงฝ ง ลกขายขนตอน

นคลายเปนการบอกตอบรบการตดตอสอสาร

• ฝ งลกขายสงแพคเกต ทต งคา ACK flag กลบไปยงฝ งแมขายอกครง ขนตอนนคลาย

เปนการยนยนการตดตอสอสารหาก 3 ขนตอนนส าเรจเทากบวาตดตอส าเรจ การตดตอสอสาร

ระหวาง ลกขายกบ แมขายกจะเรมตนขนได

ขบวนการเลกการเชอมตอของโพรโทคอลทซพเมอตดตอสอสารสงขอมลเรยบรอยแลว

การจบการตดตอสอสารกตองมข นตอนดวย ขนตอนคลายๆ กบการเรมตดตอสอสารคอ ม 3

ขนตอนเชนกน

• ฝ งทตองการตดการสอสารสมมตวาเปนฝ งลกขายจะสงแพคเกต ทต งคา FIN flag ไป

ยงฝ งแมขาย ขนตอนนคลายเปนการบอกวาจะหยดการตดตอสอสาร

• ฝ งแมขาย สงแพคเกต ทต งคา FIN flag และ ACK flag กลบไปยงฝ ง ลกขาย

ขนตอนนคลายเปนการบอกตอบรบการหยดตดตอสอสาร

• ฝ งลกขายสงแพคเกต ทต งคา ACK flag กลบไปยงฝ งแมขายอกครง ขนตอนน

คลายเปนการยนยนการหยดตดตอสอสาร

คณสมบตของโพรโทคอลทซพ การสงขอมลของโพรโทคอลทซพเปนแบบทเชอถอได

และจะดแลความสมบรณของขอมลใหโดยผเขยนโปรแกรมไมตองท างานในสวนน เมอมการสง

ขอมล การท างานของโพรโทคอลจะไมสงโดยทนท แตขอมลจะถกน าไปเกบไวใน บฟเฟอร

(buffer) ซงถกจดการโดยระบบปฏบตการ) กอนจนกวาจะพรอมสง ดงรปท 2.5 และในขณะนน

ถาหากวาแอพพลเคชน ตองการสงขอมลเพมอกขอมลทตองการสงนจะถกน ามาเกบรวมใน

Page 23: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

13

บฟเฟอร เมอพรอมสงจะสงออกไปดวยกนโดยไมแยกวาขอมลชดใดมากอนหลง สวนนอาจเปน

ปญหาได ดงรป ตรงสวนนผเขยนโปรแกรมตองท างานแยกขอมลทตองการเอาเอง

data

data

data

OS

data

data

data

OS

Server Client

application application

รปท 2.5 ลกษณะการสงขอมลของโพรโตคอลทซพ

data 1 and data 2

OS

Server Client

application application

data 1 and data 2

Data 1 data2

OS

Data 1 data2

Data 1 data2

Data 1 data2

รปท 2.6 ลกษณะการสงขอมลของโพรโตคอลทซพทผเขยนโปรแกรมตองจกการแยกขอมลเอง

Page 24: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

14

จากรป 2.6 จะเหนไดวาแอพพลเคชน ฝ งแมขาย รบขอมลมาทละ 2 ชดเลยนนคอ

data1 กบ data2 ตรงนผเขยนโปรแกรมตองหาวธในการแยกขอมลทงสองออกจากกน หรอ

อาจจะหาวธในการรบขอมลมาทละสวน[3]

2.5 พอรต(Port)

พอรต เปนชองทางการสอสารของคอมพวเตอรทเปดบรการตางๆ โดยหากเปรยบไอพ

แอดเดรสเปนเลขทบาน หมายเลขพอรตกอาจจะเปรยบไดกบประตบานหรอประตหอง

ยกตวอยางเชน เราตองการเดนไปหาเพอนทอยหอพกแหงหนง ดงนนเราจะตองรทอยของ

หอพกกบหมายเลขของหองพก แลวจงเดนทางไปหาหอพกและหาหองพกได เปรยบเทยบกบ

เราตองรไอพแอดเดรสกบหมายเลขพอรตของเครองคอมพวเตอรปลายทาง จงจะเขาไปใช

บรการบนเครองคอมพวเตอรเครองนนๆ ได และเครองคอมพวเตอรหนงเครองสามารถเปด

บรการไดหลายอยาง โดยบรการแตละประเภทจะมพอรตเปนของตนเอง เชน บรการ เอชททพ

ใชพอรตหมายเลข 80 สวนบรการเอฟทพ ใชพอรตหมายเลข 21 เปนตน สถาบน IANA

(Internet Assigned Numbers Authority) ซงเปนสถาบนทควบคมดแลการใชหมายเลขพอรต

ไดจดแบงไดเปน 3 ประเภทไดแก

• well Known Port เปนหมายเลขทถกก าหนดไวส าหรบแอพพลเคชนทใชกนเปน

ประจ า เชน แอพพลเคชนทใชโพโตคอลเอชททพ มหมายเลขจ าประตวคอ 80 หรอพอรต

หมายเลข 110 ส าหรบแอพพลเคชนทใชโพโตคอล POPเปนตน ซงหมายเลขพอรตประเภท

well Known Port มหมายเลขตงแต 0 ถง 1023 แสดงในตาราง 2.7

ตารางท 2.7 หมายเลขพอรตของบางแอพพลเคชน

พอรต โพรโทคอล แอพพลเคชน 20 TCP FTP(Data) 21 TCP FTP(Control) 22 TCP SSH (Secure shell) 23 TCP Telnet 25 TCP SMTP 53 TCP/UDP DNS 80 TCP HTTP

Page 25: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

15

ตารางท 2.7 (ตอ) หมายเลขพอรตของบางแอพพลเคชน

พอรต โพรโทคอล แอพพลเคชน 110 TCP POP3

143 TCP IMAP

161 UDP SNMP

• Registered Port เปนหมายเลขพอรตทเปดโอกาสใหลงทะเบยนขอใชได เพอปองกน

การใชหมายเลขพอรตซ า ซงขอใชไดตงแตหมายเลข 1,024 จนถง 49,151

• Dynamic Port จะมหมายเลขตงแต 49,152 ถง 65,535ซงหมายเลขพอรตเหลาน

เปนหมายเลขพอรตอสระ[1]

2.6 ซอกเกต

แมวานกออกแบบระบบจะสามารถใสสวนการเชอมตอกบซอฟแวร(Software

Interface)อยางไรกได แตในทางปฏบตกลบมรปแบบของ TCP/IP Software Interface อย

เพยงไมกแบบเทานน และ TCP/IP Software Interface ทนยมมอยเพยง 2 รปแบบ

เทานนคอ

• socket Interface เปน TCP/IP Software ทพฒนาขน โดย University of

California at Barkley ซงในตอนตนไดพฒนารปแบบการเชอมตอแบบนเพอใชกบ

ระบบปฏบตการ Berkley Unix

• Transport Layer Interface หรอ TLI เปนTCP/IP Software Interface ท

พฒนาโดย AT&T เพอใชกบระบบปฏบตการ System Unix

2.6.1 Interface Functionality

แมวาทางผพฒนา TCP/IP Protocol Software Interface จะไมไดมการก าหนด

รปแบบหรอวธการใดๆในการเชอมตอ ApplicationSoftware กบ TCP/IP Protocol

Software แตทางผพฒนาเองกไดมขอแนะน าเกยวกบ Functions ตางๆ ทจ าเปน เปนตนวา

Interface จะตองสามารถรองรบการท างานตางๆ ตาม Concept ดงตอไปน

Page 26: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

16

- Allocate local resources for communication

- Specify local and remote communication end-points

- Initiate a connection (client side)

- Wait for an incoming connection(server side)

- Send or receive data

- Determine when data arrives

- Generate urgent data

- Handle urgent data

- Terminate a connection gracefully

- Handle connection terminate from the remote site

- Abort communication

- Handle error condition or a connection abort

- Release local resources when communication finishes

นอกจาก Concept ในการท างานดงทไดกลาวมาแลวขางตน ทางผพฒนามาตรฐาน

โพรโทคอลทซพ ไอพ ไดสราง Conceptual Interface ขนมาเพอเปนแนวทางใหนกออกแบบ

ระบบสามารถพฒนาซอฟแวรของตนไดงายและเรวขน โดย Conceptual Interface ททาง

ผพฒนามาตรฐาน โพรโทคอลทซพ ไอพ ไดสรางขนนนจะอยในรปของ Set of Functions เหต

ท Conceptual Interface อยในรปแบบของ Procedures และ Functions นนเนองมาจากใน

ชวงเวลาทพฒนา Conceptual Interface ระบบปฏบตการตางๆ ในยคนนนยมใชวธการซงเรยก

กนวา Procedural Mechanism ในการเคลอนยายการควบคม จาก Application Software ไป

ยงระบบปฏบตการ ดงนนจงกลาวโดยสรปเกยวกบ Conceptual Interface ไดดงน

“Conceptual Interface ซงถกก าหนดโดยผพฒนามาตรฐาน ทซพ ไอพ นนจะไมระบรปแบบ

ของการแทนขอมล หรอ รายละเอยดในการเขยนโปรแกรม หากแตแสดงเพยงตวอยางหนงของ

Page 27: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

17

การเชอมตอ ซงมความเปนไปไดในทางปฏบตการจะสามารถใหบรการแก Application

Software ทตองการใชงาน โพรโทคอลทซพ ไอพ

2.6.2 Socket Types Sockets

สามารถแบงออกเปนประเภทตามลกษณะการรบสงขอมลผานเครอขายไดเปน 3

ประเภทดงน

• stream Sockets หรอ Connection Oriented Sockets

• Datagram Sockets หรอ Connectionless Sockets

• Raw Sockets

2.6.3 working with sockets in.Net

ใน .Net การท างานทเกยวของกบ Sockets จะตองเรยกใชงาน Namespace ทชอวา

System.Net.Sockets ซงเปน Namespace ทบรรจ Classes ตางๆทสนบสนนการท างานกบ

Sockets โดย Classes ทเกยวของกบการท างานหลกๆ กบ Sockets มดงน

- Multicast Option

- Network Stream

- Tcp Client

- Tcp Listener

- Udp Client

- Socket Exception

- Socket

โดย Class Socket จะม function พนฐานตางๆ ทจ าเปนส าหรบการสราง Application

ซงใชงาน Sockets ส าหรบ Properties ทส าคญส าหรบ System.Net.Sockets.Socket ไดแก

- AddressFamily

Page 28: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

18

- Available

- Blocking

- Connected

- LocalEndPoing

- ProtocolType

- RemoteEndPoing- SocketType

และ Method ทส าคญ System.Net.Sockets.Socket มดงน

- Accept()

- Bind()

- Close()

- Connect()

- GetSocketOption()

- IOControl()

- Listen()

- Receive()

- Poll()

- Select()

- Send()

- Shutdown()

Page 29: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

19

2.6.4 Sockets Passive Sockets

Passive Sockets หรอ Sockets ซงใชใน Server Applicatication นนมข นตอนการ

สรางดงรปท 2.7 น

รปท 2.7 Diagram ขนตอนการสราง Passive Sockets[5]

2.6.5 Active SocketsActive Sockets

หรอ Sockets ประเภททใชงานใน Client Application มขนตอนการสรางดงน

รปท 2.8 Diagram ขนตอนการสราง Active Sockets[5]

Open a socket

Name the Socket(Bind)

Listen for incoming connection

Accept Client conection

Send Receive Data

Close socket

Open a socket

Connect to Remote Host

Send Receive Data

Close socket

Page 30: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

20

2.7 การโปรแกรมซอกเกต( Socket Programming)

การพฒนาโปรแกรมเพอใหสอสารกนใน Network นน จะตองพฒนาแอพพลเคชน 2

โปรแกรมดวยกน คอ โปรแกรมทท าหนาทเปนเครองไคลเอนต( Client )และโปรแกรมทท า

หนาทเปนเซรฟเวอร( Server ) โดยเมอ เรมโปรแกรมทง 2 แลว จะอานและสงขอมลกนผาน

ทางซอกเกต( Socket) ซงเรยกแอพพลเคชนเชนนวา Client – Server Application โดยจะแบง

ออกเปน 2 ประเภทคอ

• Client – Server ทท างานโดยใชโพรโทคอล ทได Define ไวใน RFC

ผพฒนาโปรแกรม ไคลเอนต และเซรฟเวอรจะตองพฒนาใหโปรแกรมท างานตามรปแบบท

ก าหนดไวใน RFC เดยวกน เพอให ไคลเอนตและ เซรฟเวอรสามารถสอสารกนไดอยางถกตอง(

ตาม RFC เดยวกน) เชน ถาตองการพฒนา FTP (RFC959) ผพฒนาโปรแกรม FTPClient

จะตองใหโปรแกรมท างานตามขอก าหนดใน RFC959 อยางถกตอง(Port number,รปแบบ

ขอความ (message) ทท าการรบ-สง) เชนเดยวกนกบผพฒนาโปรแกรมเซรฟเวอรกจะตองให

โปรแกรมท างานตามขอก าหนดใน RFC959 เพอทจะใหไคลเอนตและเซรฟเวอรท างานรวมกน

ไดอยางถกตอง

• Proprietary Client – Server Application ในการพฒนาโปรแกรมลกษณะน ผพฒนา

ไมตองอางองตาม RFC แตนนหมายถง จะตองพฒนาทง Client application และ Server

application (เพราะไมตองอางองตาม RFC ซงเปนมาตรฐานสากล) ผพฒนาจะตองพฒนา

โปรแกรมให ไคลเอนต และ เซรฟเวอร ท างานรวมกนไดอยางถกตองตามทผพฒนานนก าหนด

ขนเองแตผพฒนาตองระวงไมใหใช well-Know Port ทก าหนดไวใน RFC ผพฒนาจะตองท า

การเลอกใช Transport Protocol ระหวาง ทซพ และยดพ โดยท ทซพ เปน โพรโทคอล แบบ

Connection – Oriented ซงใหความเชอถอไดระหวางการสง-รบขอมล และ ยดพ เปน โพรโท

คอล แบบ Connectionless ซงไมไดใหการรบประกนวา ขอมลจะสงถงกนหรอไม

2.8 คลาสทจ าเปนในการเขยนโปรแกรมทางเนตเวรคดวย C#

คลาสทจ าเปนตางๆไดแกIPAddress,IPEndPoint,IPHostEntry,Dns,Encoding,Socket

2.8.1 คลาส IPAddress

Page 31: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

21

เปนคลาสส าหรบเกบขอมล Address เพอใชส าหรบอางองเครองทตองการตดตอสอสาร

อยใน Namespace System.Net รปแบบของ Constructor คอ

Public IPAddress (byte [ ] address)

Public IPAddress(long newAddress)

Public IPAddress(byte [ ] address,long scopeid )

ฟงกชนทส าคญ คลาส IPAddress มฟงกชนมากมาย แตทส าคญแสดงในตารางท 2.8

ตารางท 2.8ฟงกชนส าคญของคลาส IPAddress

ฟงกชน ค าอธบาย parse ฟงกชนส าหรบแปลง string ขอความ ip address ท

สงเขามาแลว return เปนตวแปรชนด IPAddress

ถงจะม constructor ถง 3 แบบแตการใชงานจะใชฟงกชน Parse ของคลาส IPAddress

เปนตวชวยในการสราง IPAddress ฟงกชน Parse มรปแบบการรบคา sting แลว return มา

เปนคลาส IPAddress ตวอยางการใชฟงกชน IPAddressip = IPAddress.Parse(“127.0.0.1”);

Fields ทส าคญคอแสดงในตารางท 2.9

ตารางท 2.9 Fields ทส าคญของคลาส IPAddress

Fields(ตวแปรภายในคลาส) ค าอธบาย Any คาทอางถง IP ทตงไวในเครอง Loopback คาทเปน loopback ของเครอง

ตวอยางการใช Fields IPEndPoint ipendpoint = new IPEndPoint(IPAddress.Any,10000);

2.8.2 คลาส IPEndPoint

เปนคลาสส าหรบเกบขอมลคลายกบคลาส IPAddress แตเพมการเกบคา port เพอใช

ส าหรบอางองทอยของเครองทตองการตดตอสอสาร อยใน Namespace System.Net รปแบบ

ของ Constructor คอ

Page 32: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

22

Public IPEndPoint (long address,int port)

Public IPEndPoint (IPAddress address,int port)

ตวอยางการใช Constructor

IPEndPointipep = new IPEndPoint(IPAddress.Parse(“127.0.0.1”),10000);

ตวอยางนเปนการก าหนดใหตวแปร ipep เกบคา ip 127.0.0.1 และ port ท 10000

2.8.3 คลาส IPHostEntry

เปนคลาสส าหรบเกบขอมลคลายกบเปนอาเรยของคลาส IPAddress ใชส าหรบรบ

ขอมลทจะ return มาของคลาส Dns อยใน Namespace System.Net รปแบบของ Constructor

คอ Public IPHostEntry ()สวนใหญแลวจะประกาศตวแปรชนดนเพอรบขอมลจากการ return

จากคลาสอน Properties ทส าคญ แสดงในตารางท 2.10

ตารางท 2.10 Properties ส าคญของคลาส IPHostEntry

Properties ค าอธบาย AddressList เปน Properties ทคลายกบเปนอาเรยของ

คลาส IPAddress

ตวอยางการใชงาน Properties

IPHostEntry arrayIPAddress = Dns.GetHostByName(hostString);

Console.WriteLine(arrayIPAddress.AddressList[0]);

คลาสนจะไดใชควบคกบคลาส Dns เสมอเวลาเขยนโปรแกรม

2.8.4 คลาส Dns

เปนคลาสทจดหาฟงกชนในการแปลงจาก Domain name เปน IP Address หรอ

ตรงกนขาม อยใน Namespace System.Net ฟงกชนทส าคญ คลาส Dns มฟงกชนมากมาย แต

ทส าคญแสดงในตาราง 2.11

ตารางท 2.11 ฟงกชนส าคญของคลาส Dns

ฟงกชน ค าอธบาย GetHostByAddress ฟงกชนส าหรบรบคา address ของ host แลว return

Page 33: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

23

ออกมาเปนตวแปรชนด IPHostEntry ใชเมอร ip แตอยากร domain name

GetHostByName ฟงกชนส าหรบรบคา host name แลว return ออกมาเปนตวแปรชนด IPHostEntry ใชเมอร domain name แตอยากร ip

GetHostEntry ฟงกชนส าหรบรบคา address แลว return ออกมาเปนตวแปรชนด IPHostEntry

IPHostEntry GetHostByAddress(String) หรออกรปแบบเปน IPHostEntry

GetHostByAddress(IPAddress)

IPHostEntry GetHostByName(String)

IPHostEntry GetHostEntry(String) หรออกรปแบบเปน IPHostEntry GetHostEntry

(IPAddress)

2.8.5 คลาส Encoding

การสงขอมลดวยคลาส Socket ตองสงเปนขอมลชนด byte บางทขอมลอาจเปน

ขอความ คลาสนจะใชส าหรบชวยแปลงขอมลจากชนดหนงเปนอกชนดหนง เพอสงและรบขอมล

ได อยใน Namespace System.Text ฟงกชนทส าคญ คลาส Encoding มฟงกชนมากมาย แตท

ส าคญแสดงในตาราง 2.12

ตารางท 2.12 ฟงกชนส าคญของคลาส Encoding

ฟงกชน ค าอธบาย GetBytes แปลงขอมลเปน byte GetString แปลงขอมลเปน string

ตวอยางการใชงานฟงกชน

ฟงกชน GetBytes

string str = “test text”;

Encoding ascii = Encoding.ASCII;

Page 34: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

24

Byte [ ] byte = ascii.GetBytes(str);

ฟงกชน GetStrng

Encoding ascii = Encoding.ASCII;

string str = ascii. GetStrng (ตวแปรชนด byte[ ]);

Properties ทส าคญ แสดงในตาราง 2.13

ตารางท 2.13 Properties ทส าคญของคลาส Encoding

Properties ค าอธบาย ASCII Properties นจะ return คามาเปนตวแปรชนด Encoding

จะใช Properties นในการเรมตนการใชงานคลาส Encoding แบบตวอกษร ascii

2.9 คลาส ซอกเกต

เปนคลาสส าหรบสงขอมลทางเนตเวรค อยในNamespaceSystem.Net.Sockets

รปแบบของ Construtor คอ

PublicSocket (SocketInformationsocketInformation)]

PublicSocket(AddressFamilyaddressFamily,SocketType,ProtocolTypeprotocolType)

พารามเตอรม 3 ตวไดแก

• addressFamilyเปนตวแปรชนด AddressFamilyส าหรบก าหนดชนดของ addressท

ตองการใหตดตอ สวนใหญใช InterNetworkซงคอ IPaddressversion 4 นนเอง

• socketType เปนตวแปรชนด socketType ส าหรบก าหนดชนดของ socket สวนใหญ

ใชอย 2 อยางคอ แบบ Stream ส าหรบ Connection Oriented เชน TCP และ แบบ Dgram

ส าหรบ Connectionless เชน UDP

• ProtocolType เปนตวแปรชนด ProtocolType ส าหรบก าหนดชนดของ Protocol ทใช

สวนใหญใชอย 2 อยางคอ ProtocolType.Tcp กบ ProtocolType.Udp

ฟงกชนทส าคญ คลาส Socket มฟงกชนมากมาย แตทส าคญแสดงในตาราง 2.14

Page 35: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

25

ตารางท 2.14 ฟงกชนส าคญของคลาส Socket

ฟงกชน ค าอธบาย Bind ฟงกชนนอยในสวนของ server ใชส าหรบผกคาตว

แปร Socket ทตงขนมากบ server Listen ฟงกชนนอยในสวนของ server ใชส าหรบรอการรบ

Connect จาก Client Accept ฟงกชนนอยในสวนของ server ใชส าหรบยอมรบการ

Connect จาก Client Send ฟงกชนส าหรบสงขอมลใชทงสวนของ server และ

Client Receive ฟงกชนส าหรบรบขอมลใชทงสวนของ server และ

Client Close ฟงกชนส าหรบปดขอมลใชทงสวนของ server และ

Client Connect ฟงกชนส าหรบ Connect ส Server ใชส าหรบ Client

• ฟงกชน Bind

รปแบบ Public void Bind (EndPoint localep)

พารามเตอร localep ส าหรบก าหนด address ของ Server นนเอง ในทนเราจะใชตว

แปรชนด IPEndPoint ใสเปนพารามเตอร

•ฟงกชน Listen

รปแบบ Public void Listen (int backlog)

พารามเตอร backlog ส าหรบรบคาตวเลขวาจะให Connect เขามาไดก Client

• ฟงกชนAccept

รปแบบ Public Socket Accept()

•ฟงกชน Send ฟงกชนมหลายรปแบบแตจะกลาวถงเพยง 2 รปแบบทจะใชงาน

รปแบบ

Public int Send (byte [ ] buffer )

Public int Send(byte [ ] buffer,int offset,int size,SocketFlags socketFlags)

Page 36: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

26

พารามเตอร

buffer ตวแปรทเกบขอมลส าหรบสง

offset ต าแหนงเรมตนของ buffer ทใหสงขอมล

size จ านวนขอมลทจะสง

socketFlags เปน flag ส าหรบก าหนดการสงในทนจะใสเปน 0 คอไมม flag

• ฟงกชนReceive

ฟงกชนมหลายรปแบบแตจะกลาวถงเพยง 2 รปแบบทจะใชงาน

รปแบบ

Public int Receive (byte[ ] buffer)

Public int Receive (byte[ ] buffer,int offset.int size,socketFlags socketFlags)

พารามเตอร

buffer ตวแปรทเกบขอมลส าหรบรบ

offset ต าแหนงเรมตนของ buffer ทใหรบขอมล

size จ านวนขอมลทจะรบ

socketFlags เปน flag ส าหรบก าหนดการรบในทนจะใสเปน 0 คอไมม flag

• ฟงกชน Close

รปแบบ

Public Void Close()

Public Void Close(int timeout)

พารามเตอร timeout คอ ระยะเวลาในการคอยกอนการ Close เพอการสงขอมลใหเสร

• Connect

รปแบบ Public Void Connect (EndPoint remoteEP)

public void Connect(IPAddress address,int port)

มรปแบบมากมายแตจะใชอย 2 รปแบบเทานน

รปแบบแรก พารามเตอร remoteEP ของรปแบบแรกจะเปนตวแปรเกบทอยของเครอง

ทจะตดตอดวยชนด EndPoint ในทนจะใช IPEndPoint เลย

รปแบบท 2 พารามเตอร address เปนตวแปรชนด IPAddress เกบทอยของเครองทจะ

ตดตอดวยพารามเตอร Port ส าหรบระบ Port ทจะตดตอ

Page 37: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

27

2.10 การใชงานคลาสชวยเหลอ

คลาส TcpClientคลาส TcpListenerคลาส NetworkStreamเปนคลาสชวยเหลอแทนการ

ใชงานคลาส Socket

2.10.1 คลาส TcpClient

ม Constructor 4 แบบคอ

• public TcpClient() เปน Constructor ไมมพารามเตอร

• public TcpClient(AddressFamily family)พารามเตอร family คอ ตวแปรชนด

AddressFamilyเปนการก าหนดลกษณะของการตดตอทาง network

• public TcpClient(IPEndPointlocalEP)พารามเตอร local คอ ก าหนด local ทจะใช

กบตวแปร TcpClientตวแปร localEPเปนชนด IPEndPoint

• public TcpClient(string hostname ,int port) พารามเตอร hostname คอตวแปร

ชนด integer เพอบอกวาเปน port หมายเลขอะไร ทตองการ connect

ฟงกชนทส าคญของคลาส TcpClientมมากมาย แตทส าคญแสดงในตาราง 2.15

ตารางท 2.15 ฟงกชนส าคญของคลาส TcpClient

� �

Connect()

Close()

GetStream() Stream Networkstream

2.10.2 คลาส TcpListener

ม Constructor 3 แบบคอ

• public TcpListener (int port) มพารามเตอร port ทตองการ listen ส าหรบการตดตอ

เขามา

Page 38: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

28

• public TcpListener (IPEndPointlocalEP) พารามเตอรlocalEPคอ IPEndPoint

เพอทจะ bind คลายกบการใชงานฟงกชน Bind() ของคลาส Socket

• public TcpListener (IPAddresslocaladdr ,int port) พารามเตอรlocaladdrคอ ตว

แปรชนด IPAddressทแทน local IP address Port คอ หมายเลขของ Port ทตองการ listen

ส าหรบการตดตอเขามา ฟงกชนทส าคญของคลาส TcpListenerมมากมาย แตทส าคญแสดงใน

ตาราง 2.16

ตารางท 2.16 ฟงกชนส าคญของคลาส TcpListener

� �

Acceptsocket() Socket

AcceptTcpClient() client

Start() listen

Stop() listen

2.10.3 คลาส NetworkStream

คลาสนมฟงกชนมากมาย แตทส าคญแสดงในตาราง 2.17

ตารางท 2.17 ฟงกชนทส าคญของคลาส NetworkStream

� �

Read() Networkstream

Write() Networkstream

Close()

รายละเอยดฟงชน Read() รปแบบฟงกชน int Read (byte[] buffer,intoffset,int size)

พารามเตอร buffer คอ อาเรยชนด byte เปนตวแปรส าหรบรบขอมล offset คอ ต าแหนงเรมตน

ในตวแปร buffer ทจะรบขอมล Size คอ จ านวนขอมลทจะรบ คา Return จ านวนขอมลทรบมา

Page 39: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

29

ไดเปน integer รายละเอยดของฟงกชน Write() รปแบบฟงกชน void write (byte [] buffer,

intoffset,int size) พารามเตอร buffer คอ อาเรยชนด byte ซงเกบขอมลทตองการสง offset คอ

ต าแหนงเรมตนในตวแปร buffer ทจะสงขอมล Size คอ จ านวนขอมลทจะสงไมมคา Return[4]

2.11 Windows Event Programing

สวนมากโปรแกรมเครอขายจะใชโหมดของคอนโซลใน .NET เปนหลก ซงวนโดวใน

โหมดคอนโซลจะใชเปนโมเดลโครงสรางของโปรแกรม โปรแกรมจะท างานตามตวควบคมทมอย

ในโปรแกรมนน ๆ ซงแตละเมธทอดทอยในคลาสจะถกเรยกใชโดยฟงกชนทโปรแกรมพบขณะ

ท างานในตอนประมวลผล ซงผใชงานจะไมสามารถเปลยนโปรแกรมทก าลงท างานไปเปนอยาง

อนไดนอกเหนอจากทไดก าหนดไว แตจะตรงกนขามกบโปรแกรมวนโดวทจะใชเปน event

programming model วนโดวอเวนทโปรแกรมจะท างานบนพนฐานของเหตการณเปนหลก เมอ

มเหตการณเกดขนในโปรแกรม เมธทอดเฉพาะจะถกเรยกใชงานและท างานกบเหตการณนน ๆ

ดงแสดงในรป 2.9 ซงการท างานแบบนไมเปนผลดกบฟงกชนเครอขายแบบ blocking เพราะ

เมอโปรแกรมถกเรยกใชงานและแสดงผลเปนกราฟฟกทางหนาจอเพอใหผใชงานใช มนจะรอ

เหตการณจากผใชงานทจะตดสนใจวาจะใหฟงกชนใดท างานดงนนอเวนทโปรแกรมจะสมมตวา

ฟงกชนอนอน ๆ ก าลงท างานและผใชงานจะยงคงควบคมผานกราฟฟกอนเทอเฟสอย การ

ท างานแบบนจะยอมใหผใชงานท างานกบฟงกชนอน ๆ ในขณะทรอการตอบกลบจากเครอขาย

หรอยกเลกการเชอมตอถาจ าเปน อยางไรกตามถาเราใชงานฟงกชน blocking โปรแกรมทจะ

ประมวลผลกจะรอจนกวาฟงกชนนนจะท างานเสรจและผใชงานกจะไปควบคมอนเทอเฟหรอไม

กโปรแกรมแทน

Page 40: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

30

รปท 2.9 window event program

2.12 Using Events and Delegates

ในระบบโปรแกรม.NET จะมความคลายคลงกบระบบวนโดว ดงนนจงไมแปลกใจท

.NET จะรองรบโมเดลอเวนทโปรแกรม (event programming model) ใน .NET จะมโครงสราง

หลกอย 2 สวนคอ events กบ delegates Event คอขอความทสงโดยออฟเจคทแทนการท างาน

ในจดนน ๆ ขอความจะระบถงการท างานและขอมลทเกยวของกบการท างานนน ๆ โดย Event

สามารถเปนอะไรกไดจากผใชงานทกดปม (ขอความแทนดวยชอปม) หรอแพคเกจทรบขอมล

ทาง socket (ในทนขอความจะแทน socket ทรบขอมล) เหตการณตาง ๆ ผสงไมจ าเปนตองร

วาออฟเจดใดเปนตวจดการกบขอความเหตการณทสงไปผานระบบวนโดว มนจะขนกบ

เหตการณผรบไดลงทะเบยนกบระบบวนโดวและบอกใหรวาเปนเหตการณชนดใดทผรบตองการ

จะรบ (ในรป 2.10 แสดงฟงกชน demonstrates)

Page 41: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

31

ซบเนตมารคส าหรบคลาส C มเลข 255 จ านวนสามชด คอ 255.255.255.0 หมายความวาใน

เครอขายนจะมไอพแอดเดรสสสามชดแรกทเหมอนกน เชน 192.168.1.11, 192.168.1.12,

192.168.1.13จงถอวาไอพแอดเดรสทงหมดนอยในเครอขายเดยวกน

รปท 2.10 demonstrates

เหตการณของผรบจะระบไวในระบบวนโดวโดยคลาสทเรยกวา delegate คลาส

delegate จะเกบตวอางองเมธทอดทใชในการจดการกบเหตการณทใชรบขอมล เมอวนโดว

ไดรบเหตการณใด ๆ มนจะไปตรวจสอบกบ delegate ทไดลงทะเบยนเอาไว ถาม delegate ท

ลงทะเบยนไวเพอจดการกบเหตการณนน ๆ มนจะสงผานไปยงเมธทอดทไดก าหนดไวใน

delegate และหลงจากทเมธทอดนนท างานเสรจโปรเซสของระบบวนโดวจะไปท าเหตการณ

ถดไปทพบจนกวาจะไดรบเหตการณการจบโปรแกรม[4]

Page 42: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

32

2.13 The AsyncCallback Class

.NET จะเตรยมหนทางทท าใหเมธทอดกลายเปน delegate ได นนคอ .NET คลาส

AsyncCallback ทยอมใหเมธทอดเรมท างานฟงกชน asynchronous และรองรบการเรยกใชเมธ

ทอด delegate เมอฟงกชน asynchronous ท าส าเรจโพรเซสนจะตางจากโปรแกรมทว ๆ ไปใน

เรองของเหตการณทไมไดถกสรางมาจากออปเจควนโดว แตจะมาจากเมธทอดอน ๆ ใน

โปรแกรมแทน ซงเมธทอดนจะลงทะเบยนตวมนเองเปน AsyncCallback delegateไวเรยกใช

เมอเมธทอดท างานฟงกชนการเชอมตอเสรจ คลาส Socket จะใชประโยชนจากเมธทอดท

ก าหนดในAsyncCallbackเพอยอมใหฟงกชนเครอขายท างานแบบ asynchronously ในรปแบบ

โปรเซสแบคกราวด ซงสญญาณจะถกสงให OS เมอฟงกชนเครอขายมการเชอมตอสมบรณและ

ผานโปรแกรมควบคมไปยงเมธทอด AsyncCallbackหลงจากทการเชอมตอท าไดเสรจสนแลว

ในโปรแกรมแบบวนโดวเมธทอดเหลานจะชวยหลกเลยงเหตการณทจะเกดการลอกแอพพร

เคชนจากการรอใหฟงกชนเครอขายท าการเชอมตอใหส าเรจนนเอง[4]

2.14 Using Asynchronous Sockets

เมธทอด Asynchronous จะแบงออกเปนฟงกชนในโปรแกรมเครอขายได 2 สวนคอ

• เมธทอด Begin ส าหรบเรมฟงกชนเครอขายและลงทะเบยนกบเมธทอด

AsyncCallback

• เมธทอด End ส าหรบฟงกชนท างานเสรจสนเมอเมธทอดAsynCallback ถกเรยกใช

ตารางท 2.18 แสดงใหเหนเมธทอด asynchronous ทออปเจค socket สามารถใชไดซงแตละ

เมธทอด Begin จะสมพนธกบเมธทอด End เพอท าใหฟงกชนท างานไดสมบรณ

ตารางท 2.18 .Net asynchronous Socket methods

Requests Started

By…

Description of Request Requests Ended

BY…

BeginAccept() To accept an incoming connection EndAccept()

BeginConnect() To connect to a remote host EndConnect()

BeginReceive() To retrieve data from a socket EndReceive()

Page 43: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

33

Requests Started

By…

Description of Request Requests Ended

BY…

BeginReceiveFrom() To retrieve data from a specific remote

host

EndReceiveFrom()

BeginSend() To send data from a socket EndSend()

BeginSendTo() To send data to a specific remote host EndSendTo()

เมธทอดเหลานใชประยกตไดกบsocket เทานน ใน .NETFramework release 1 ทง

คลาสTcpClient, TcpListenerและ UdpClient จะไมมเมธทอด asynchronous อย[4]

2.15 Establishing the Connection

เมธทอดทใชในการสรางการเชอมตอระหวางเครองจะขนกบโปรแกรมทท าหนาทเปน

เซรฟเวอร (คอรอใหไคลเอนทท าการเชอมตอเขามา) หรอ ไคลเอนท (ท าหนาทเชอมตอไปยง

เซรฟเวอร) ส าหรบเซรฟเวอร เมธทอดทใชคอ BeginAccept() และ ส าหรบไคลเอนทเมธทอดท

ใชคอ BeginConnect()

• The BeginAccept() and EndAccept()Methods เพอทจะรบการเชอมตอทเขามาจาก

ไคลเอนท เราจะตองใชเมธทอดBeginAccept() ทมรปแบบคอ

IAsyncResultBeginAccept (AsyncCallback callback, object state)

เมธทอด BeginAccept() จะมพารามเตอรสองตว คอ ชอของเมธทอดAsyncCallback ใชส าหรบ

ท าใหฟงกชนสมบรณ และ ออปเจคสถานะทว ๆ ไปทใชผานคาขอมลระหวางเมธทอด

Asynchronousโดยทวไปแลวเมธทอด BeginAccept() จะมรปแบบการใชงานดงรปท 2.11

รปท 2.11 รปแบบการใชงานเมธทอด BeginAccept()

Page 44: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

34

โคดนเลก ๆ นท าการสรางออปเจค Socket และระบ local IP address และ TCP port

ใหเพอท าการรอรบการเชอมตอทจะมเขามา เมธทอด BeginAccept() จะอธบายถงเมธทอดทใช

งานเหมอน delegate เพอใชเมอตรวจเจอการเชอมตอกบ socket นน ๆและพารามเตอรตว

สดทายจะสงผานไปยงเมธทอด BeginAccept() ทเปนออปเจค socket ตนทถกสรางขนมา

หลงจากทเมธทอด BeginAccept() ท าเสรจเมธทอด AsyncCallback จะถกเรยกขนมาเมอมการ

เชอมตอเกดขน เมธทอด AsyncCallback จะมเมธทอด EndAccept() เพอใชจบการรบ socket

ดงนนรปแบบของเมธทอด EndAccept() คอ Socket EndAccept (IAsyncResultiar); ตวแปร

ออปเจค IAsyncResult จะสงคาของ IAsyncResult จากเมธทอด BeginAccept() ทเชอมโยงไป

ยงเมธทอด EndAccept() (นนกคอ เปนการสงคาระหวาง BeginAccept กบ EndAccept ทจบค

ตรงกน synchronous Accept() นนกคอ เมธทอด EndAccept() จะสงคาออปเจค Socket ทใช

ส าหรบสรางการเชอมตอใหมกบไคลเอนท ทกการสอสารกบไคลเอนทกจะท ากบออปเจคนเสมอ

ตวอยางเมธทอด EndAccept() เขยนเปนฟงกชนงาย ๆ ไดดงรป 2.12

รปท 2.12 รปแบบการใชงานเมธทอด EndAccept()

ชอของเมธทอด AsyncCallback จะตองตรงกบชอพารามเตอรทใชในเมธทอด

BeginAccept()ขนตอนแรกในเมธทอดกคอ การดง socket ของเซรฟเวอรตนทางมากอน ซง

การจะท าไดเราจะใชคณสมบต AsyncState ทเปนคณสมบตทอยในคลาส IAsyncResult

คณสมบตนจะสงผานออปเจคตนทางทอยในออปเจค BeginAcccept() เพราะวามนถกก าหนด

เหมอนเปนออปเจคทวๆไป หลงจากท Socket ถกดงคามาแลว เมธทอด EndAccept()

สามารถทจะหาออปเจค Socket ใหมส าหรบการเชอมตอไคลเอนได พารามเตอรออปเจค

IAsyncResult จะท าเหมอนกบผานคาไปยงเมธทอด AsyncCallback ออปเจคไคลเอนท socket

เมอสรางขนมาแลวอนหนงจะสามารถใชไดเหมอนกบออปเจค socket อนๆ นนกคอเปนไดทง

synchronous หรอ asynchronous ทจะอานและเขยนขอมลไปยง socket ในทายทสดแลวค

Page 45: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

35

BeginAccept() / EndAccept() asynchronous กท างานไดผลเหมอนกบ เมธทอด Accept()

synchronous

•The BeginConnect() and EndConnect() Methods ส าหรบโปรแกรมไคลเอนททจะ

ท าการเชอมตอไปยงเซรฟเวอรทใชเมธทอด asynchronous เราจะตองใชเมธทอด

BeginConnect() ซงมรปแบบดงน

IAsyncResult BeginConnect(EndPoint ep, AsyncCallback callback, Object state)

พารามเตอรตวแรกทผานคาไปยงเมธทอด BeginConnect() คอคา EndPoint ของโฮสททจะท า

การเชอมตอไป และ ทเหมอนกบ BeginAccept() กคอ เมธทอด BeginConnect() จะมการระบ

ชอของเมธทอด AsyncCallback ทจะเรยกใชเมอการเชอมตอพรอมเสรจ และพารามเตอรตว

สดทายคอ สถานะของออปเจคทสามารถผานไปยงเมธทอด EndConnect() เพอพรอมทจะสง

ขอมลทจ าเปนได ตวอยาง BeginConnect() แสดงดงรป 2.13

รปท 2.13 รปแบบการใชงานเมธทอด BeginConnect()

ในโคดนเปนการสรางออปเจค Socket ชอ newsock และ IPEndPoint ชอ iep ส าหรบ

โฮสททจะเชอมตอ เมธทอด BeginConnect() จะอางองเมธทอด AsyncCallback (connected)

และผานออปเจค socket เรมตน กคอ newsock ไปยงเมธทอด AsyncCallback เมอการ

เชอมตอสมบรณ เมธทอด AsyncCallback ทถกก าหนดไวจะถกเรยกใชงาน และ เมธทอด

AsyncCallback จะใชเมธทอด EndConnect() เพอท าใหการเชอมตอเสรจสน รปแบบของ

เมธทอด EndConnect() คอ EndConnect (IAsyncResult iar) ตวอยางการใชเมธทอด

EndConnect แสดงดงรปท 2.14

Page 46: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

36

รปท 2.14 รปแบบการใชงานเมธทอด EndConnect

ประโยคแรกในเมธทอด Asyncallback เปนการดงคา socket ตนทางทใชกบ

BeginConnect() เปนการใช คณสมบต AsyncState ของออปเจค IAsyncResult ผานคาไปยง

เมธทอด AsyncCallback socket ตนทางถกสรางขนมาใหมแลว เมธทอด EndConnect() จะถก

เรยกใชงาน โดยใชออปเจค IAsyncResult เพอชกลบไปยงเมธทอด BeginConnect() ตนทาง

เพราะวามความเปนไปไดทเครองปลายทางอาจจะไมพรอมใชงาน จงเปนการดถาเราจะวางเมธ

ทอด EndConnect() ไวทสวนของ Try-catch เพราะถาเมธทอด EndConnect() ท างานไมส าเรจ

มนกยงขามไปท าในสวนของ SocketException error

•The BeginSend() and EndSend() Methods เมธทอด BeginSend() จะสงขอมลไป

ยง socket ทเชอมตอ โดยมรปแบบการใชงานเมธทอดนดงน

IAsyncResult BeginSend( byte[] buffer, int offset, int size, SocketFlags

sockflag, AsyncCallback callback, object state)

ถาเรามองดมนจะมความคลายกบเมธทอด Synchronous Send() ซงถามาดแตละตว ตวแรก

byte[] buffer เปน ขนาด byte array ทเกบขอมลทเราตองการจะสง Offset เปนการชไปยง

ต าแหนงขอมลทอยใน buffer ซงเปนตวบอกวาขอมลเรมตนทไหน Size เปนการระบขนาด

byte จาก buffer ทจะสงไป Sockflag เปน flag เฉพาะทใชส าหรบเวลาเราตองการทจะเซตการ

สอสาร AsyncCallback และ state เปนเมธทอดทจะถกเรยกใชเมอ เมธทอด BeginSend() ท า

ส าเรจ และ state จะสงขอมลไปยงเมธทอด EndSend()ตวอยางเชน sock.BeginSend(data, 0,

data.Length, SocketFlags.None, new AsyncCallback(SendData), sock); ตวอยางนเปนการ

สงขอมล และ เรยกใชเมธทอด SendData() เมอ socket พรอมทจะสงขอมล และตวแปร sock

Page 47: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

37

จะถกสงไปยงเมธทอด AsynCallback() เมธทอด EndSend() ใชสนสดการสงขอมล รปแบบ

ส าหรบเมธทอดนกคอ Int EndSend ( IAsyncResult iar) ซงตวแปร IAsyncResult ถก

ก าหนดใหเปนออปเจควาง ๆ ทจะอางถงผลของเมธทอด BeginSend() เมธทอด EndSend()

จะคนคาของจ านวนไบททสงจาก socket ไดส าเรจซงตวอยางของเมธทอด EndSend()

AsyncCallback แสดงดงรปท 2.14

รปท 2.15 รปแบบการใชงานเมธทอด EndSend()

•The BeginReceive() และ EndReceive() Methods เมธทอด BeginReceive() จะ

ยอมรบขอมลจากเครองปลายทางทอยใน socket เทานน โดยมรปแบบการใชงานเมธทอดคอ

IAsyncResult BeginReceive(byte[] buffer, int offset, int size, SocketFlags sockflag,

AsyncCallback callback, object state) ตวแปรตวแรกกคอ byte array ทใชรบขอมลทเขามา

Offset และ size ใชระบวาบพเฟอรเรมตจนทไหนและมขนาดบพเฟอรเทาไหร, Sockflags เปน

การก าหนด flag ส าหรบการสอสาร, callback และ state เปนตวแปรทเรายอมใหผานขอมลไป

ยงเมธทอด EndReceive()ตวอยางเชน sock.BeginReceive(data, 0, data.Length,

SocketFlags.None, new AsyncCallback(ReceivedData), sock); เมธทอด BeginReceive()

จะสง socket เรมตน ไปใหเมธทอด EndReceive() ดงนน มนจงสามารถสราง socket ใหมจาก

เมธทอด AsyncCallback เมธทอด AsyncCallback จะใช EndReceive() ตามตวอยางดงรปท

2.15

รปท 2.16 รปแบบการใชงานเมธทอด EndReceive()

Page 48: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

38

บทท 3

การออกแบบระบบ

ระบบโปรแกรมควบคมผเรยนน จะใชชดพฒนาโปรแกรมไมโครซอฟทวชวลสตดโอ 2010 (Microsoft Visual Studio 2010) โดยเลอกใชชดพฒนาโปรแกรมยอยเปนไมโครซอฟวชวลซชารป 2010 (Microsoft Visual C# 2010) เปนเครองมอในการพฒนาโปรแกรม

3.1 คณสมบตทตองการใหโปรแกรมมและแนวคดในการพฒนา

โครงงานพฒนาโปรแกรมควบคมคอมพวเตอรผ เรยนตองการพฒนาใหเ ปนแอพพลเคชนวนโดว โดยมฟงกชนการท างานหลกๆ 3 ฟงกชน

Server

Client

รปท 3.1 แสดงฟงกชนหลกทโปรแกรมควบคมคอมพวเตอรผเรยนตองม

จากรปท 3.1 แสดงฟงกชนหลกทโปรแกรมควบคมคอมพวเตอรผเรยนตองม ไดแก

• โปรแกรมสามารถสงขอความไปหาเครองผเรยนไดทงหอง

• โปรแกรมสามารถปดการท างาน หนาจอ เมาส และคยบอรดของเครองผเรยนไดทงหอง และเมอตองการใหกลบมาใหงานไดตามปกตกสามารถท าได

• โปรแกรมสามารถปดเครองผเรยนไดทงหอง

Page 49: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

39

ทง 3 ฟงกชนเปนฟงกชนในการสงขอความไปใหกลบเครองผเรยนทงหองปฏบตการคอมพวเตอรดงนนแพคเกตจะหายไมไดจงเลอกใชโพรโทคอลทซพ ในการพฒนาโปรแกรมโดยเลอกใชพอรต 5000 โดยมการสรางโพรโทคอลขอความ(Message Protocol) ทใชในการสงใหเกดกระบวนการตางๆ โพรโทคอลขอความและหนาทของโพรโทคอล แสดงในตาราง 3.1

ตารางท 3.1 แสดงชนดของขอความโพรโทคอลและหนาท

โพรโทคอล หนาท lip ท ากระบวนการลอคอปกรณอนพต

เมาส คยบอด เขาสโหมด ลอคออฟ ulip ยกเลกกระบวนการลอคอปกรณอนพต

เมาส คยบอด เขาสโหมด ลอคออฟ sd ท ากระบวนการปดเครอง(Shutdown) usd ยกเลกกระบวนการปดเครอง rs ท ากระบวนการรสตารทเครอง

(Restart)

เมอใชโพรโทคอลทซพมาพฒนาโปรแกรมควบคมคอมพวเตอรผเรยนทเปนแอพพลเคชนวนโดวตวโปรแกรมจะเกดกระบวนการบลอคคง (Blocking)ได และระบบเครองแมขายจะตองสามารถรองรบการเชอมตอจากเครองลกขายหลายๆ เครองได ดงนนแลวโปรแกรมการท างานจะตองวนรอรบการเชอมตอ แลวสรางทางเชอมตอใหกบเครองลกขายแตละเครองโดยใชหลกการของอะซงโครนส(Asynchronous)หรอเทรด(Thread)

connected

connected

connected

connected

connected

Server

Client1

Client5

Client4

Client3

Client2

Accept

Socket

start

Asynchronous ,Thread

รปท 3.2 แนวคดในการเชอมตอโดยใช Asynchronous

Page 50: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

40

จากรป 3.2 เมอเครองลกขายเขามาเชอมตอจะไดเสนทางการเชอมตอทเปนของตวเอง แลวเกดการวนขนไปทข นตอนแอคเซป(Accept)อกเพอทจะสรางการเชอมตอกบเครองลกขายตวตอไป โดยการการใช Asynchronous เขามาชวย จงไมท าใหเกดการบลอคคง

3.2 โครงสรางโดยรวมของโครงงานโปรแกรมควบคมคอมพวเตอรผเรยน

โปรแกรมควบคมคอมพวเตอรผเรยนมโครงสรางโดยรวมทงระบบดงน

Create socket

bind Socket

listen on

Socket

Accept

Send

Receive

Close

Server Client

Create socket

Connect

Receive

Send

Close

Ip server, Port 5000

3 way handshake

- Message

-Message Protocol

-command

Ip, port

Countconnect

Connected

Show ip

port

Process-lockinput

-unlockinput

-Shutdown

-unShutdown

-Restart

Show count

number

รปท 3.3 แสดงโครงสรางโดยรวมของระบบ

Page 51: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

41

จากรป 3.3 เรมทฝ งแมขายจะท าการสราง ซอคเกต โดยเปดพอรต 5000 คอยการเชอมตอ เมอมแพกเกต เขามาทางซอคเกตนพอรตน แนนอนกตองเปนเครองลกขายทเราไดก าหนดไอพแอดเดรสของเครองแมขายและเบอรพอรตไว กจะเกดการยอมรบ( Accept) ท าการสรางเสนทางเชอมตอกนระหวางเครองแมขายกบเครองลกขาย ในการเขามาเชอมตอของเครองลกขายจะมการเกบคาทเขามาเชอมตอวามกการเชอมตอ แลวจะเอาคาไปแสดงผล ใชเปนตวแทนของจ านวนเครองคอมพวเตอรลกขาย เมอมการสรางเสนทางเชอมตอเรยบรอยแลว เครองแมขายจะสงอะไรหาเครองลกขายกได ในระบบมการสงขอความ โพรโทคอลขอความ(Message Protocol) ซงเมอเครองลกขายไดรบกจะตความตาม โพรโทคอลขอความ ทไดตกลงกนไว แลวรนกระบวนการนน คอถาเปนขอความ lip กเรมกระบวนการลอคอปกรณอนพต ,ulip ท ากระบวนการยกเลกการลอคอปกรณอนพต,sd ท ากระบวนการปดเครอง(Shutdown) ,usd ท ากระบวนการยกเลกการปดเครอง ,rs ท ากระบวนการรสตารทเครอง ตอจากนนเมอเครองลกขายรบไดค าสงขอ ไอพแอดเดรส กบ พอรต กจะสงเบอรไอพแอดเดรส กบ พอรตกลบไปทเครองแมขายแสดงผล

3.3 ขนตอนการท างานทางดานเครอขาย

อธบายขนตอนการรบสงของโปรแกรมโดยน าเสนอเปนสวนๆ ของแตละฟงกชน

3.3.1 ฟงกชนในการสงขอความ

Server Client

Show in

listbox

Connect

3 way handshake

Welcome,RemoteEndpoint

Student connect : ip,port

Chat message

Chat message

Chat message

รปท 3.4 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนสงขอความ

Page 52: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

42

จากรป 3.4 เมอเครองแมขายกบลกขายไดเชอมตอกนแลวเครองแมขายจะสงขอความ Welcome ไปใหกบเครองลกขาย พรอมค าสงขอหมายเลขไอพแอดเดรสและเบอรพอรตของเครองลกขาย เครองลกขายจะสงขอความ Student Connect พรอมหมายเลขไอพแอดเดรสและเบอรพอรตมาแสดงททางฝ งแมขาย จากนนเครองแมขายจะสงขอความ(Chat message )หาเครองลกขายซงเปนการสอสารทางเดยว

3.3.2 ฟงกชนการลอคอปกรณอนพตเครองคอมพวเตอรผเรยน

Server Client

Process

lock

Connect

Welcome,RemoteEndpoint

Student connect : ip,port

lip

3 way handshake

รปท 3.5 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนลอกอปกรณอนพตผเรยน

จากรป 3.5 เมอเครองแมขายกบลกขายไดเชอมตอกนแลวเครองแมขายจะสงขอความ Welcome ไปใหกบเครองลกขาย พรอมค าสงขอหมายเลขไอพแอดเดรสและเบอรพอรตของเครองลกขาย เครองลกขายจะสงขอความ Student Connect พรอมหมายเลขไอพแอดเดรสและเบอรพอรตมาแสดงททางฝ งแมขาย จากนนเครองแมขายจะสงโพรโทคอลขอความ lip หาเครองลกขายเมอเครองลกขายไดรบตรวจสอบเงอนไข แลวกรนโปรเซสของการลอคอนพตเครองผเรยนโดยการ เขาสโหมดลอคออฟ(lock off)แลวปดการใชงานเมาสกบคยบอรดไมใหสามารถใชงานได

Page 53: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

43

3.3.3 ฟงกชนการปลดลอคอปกรณอนพตเครองคอมพวเตอรผเรยน

Server Client

Process

unlock

Connect

Welcome,RemoteEndpoint

Student connect : ip,port

ulip

3 way handshake

รปท 3.6 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนปลดลอกอปกรณอนพต

จากรป 3.6 เมอเครองแมขายกบลกขายไดเชอมตอกนแลว เครองแมขายจะสงขอความ Welcome ไปใหกบเครองลกขาย พรอมค าสงขอหมายเลขไอพแอดเดรสและเบอรพอรตของเครองลกขาย เครองลกขายจะสงขอความ Student Connect พรอมหมายเลขไอพแอดเดรสและเบอรพอรตมาแสดงททางฝ งแมขาย จากนนเครองแมขายจะสงโพรโทคอลขอความ ulip หาเครองลกขายเมอเครองลกขายไดรบตรวจสอบเงอนไข แลวกรนโปรเซสของการปลดลอคอนพตเครองผเรยนโดยการ ปลดลอคเมาสกบคยบอรดใหสามารถใชงานไดตามปกต

Page 54: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

44

3.3.4 ฟงกชนการปดเครอง(shutdown)คอมพวเตอรผเรยน

Server Client

Process

shutdown

Connect

Welcome,RemoteEndpoint

Student connect : ip,port

sd

3 way handshake

รปท 3.7 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนปดเครองคอมพวเตอรผเรยน

จากรป 3.7 เมอเครองแมขายกบลกขายไดเชอมตอกนแลวเครองแมขายจะสงขอความ Welcome ไปใหกบเครองลกขาย พรอมค าสงขอหมายเลขไอพแอดเดรสและเบอรพอรตของเครองลกขาย เครองลกขายจะสงขอความ Student Connect พรอมหมายเลขไอพแอดเดรสและเบอรพอรตมาแสดงททางฝ งแมขาย จากนนเครองแมขายจะสงโพรโทคอลขอความ sd หาเครองลกขายเมอเครองลกขายไดรบตรวจสอบเงอนไข แลวกรนโปรเซสของการปดเครองโดยจะมการนบถอยนบกอนการปดเครอง 30 วนาท

Page 55: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

45

3.3.5 ฟงกชนการยกเลกปดเครอง(cancel shutdown)คอมพวเตอรผเรยน

Server Client

Process

unshutdown

Connect

Welcome,RemoteEndpoint

Student connect : ip,port

usd

3 way handshake

รปท 3.8 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนปดเครองคอมพวเตอรผเรยน

จากรป 3.8 เมอเครองแมขายกบลกขายไดเชอมตอกนแลวเครองแมขายจะสงขอความ Welcome ไปใหกบเครองลกขาย พรอมค าสงขอหมายเลขไอพแอดเดรสและเบอรพอรตของเครองลกขาย เครองลกขายจะสงขอความ Student Connect พรอมหมายเลขไอพแอดเดรสและเบอรพอรตมาแสดงททางฝ งแมขาย จากนนเครองแมขายจะสงโพรโทคอลขอความ usd หาเครองลกขายเมอเครองลกขายไดรบตรวจสอบเงอนไข แลวกรนโปรเซสของการยกเลกปดเครองคอมพวเตอรผเรยน

Page 56: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

46

3.3.6 ฟงกชนการรสตารทเครองคอมพวเตอรผเรยน

Server Client

Process

restart

Connect

Welcome,RemoteEndpoint

Student connect : ip,port

rs

3 way handshake

รปท 3.9 แสดงขนตอนการท างานทางดานเครอขายของฟงกชนรสตารทเครองผเรยน

จากรป 3.9 เมอเครองแมขายกบลกขายไดเชอมตอกนแลวเครองแมขายจะสงขอความ Welcome ไปใหกบเครองลกขาย พรอมค าสงขอหมายเลขไอพแอดเดรสและเบอรพอรตของเครองลกขาย เครองลกขายจะสงขอความ Student Connect พรอมหมายเลขไอพแอดเดรสและเบอรพอรตมาแสดงททางฝ งแมขาย จากนนเครองแมขายจะสงโพรโทคอลขอความ rs หาเครองลกขายเมอเครองลกขายไดรบตรวจสอบเงอนไข แลวกรนโปรเซสของการรสตารทเครองคอมพวเตอรผเรยน

Page 57: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

47

3.4 ออกแบบหนาตาของโปรแกรมควบคมคอมพวเตอรผเรยน

3.4.1 ฝงแมขาย

รปท 3.10 หนาตาโปรแกรมควบคมผเรยนฝงแมขาย

จากรป 3.10 เปนหนาตาของโปรแกรมควบคมผเรยนฝ งแมขายหมายเลข 1คอ textbox หมายเลข 2 คอ listbox หมายเลข 3 คอ label โดยมปมเปน button

3.4.2 หนาตาโปรแกรมของทางฝงเครองลกขาย

รปท 3.11 หนาตาโปรแกรมควบคมผเรยนฝงลกขาย

จากรป 3.11 เปนหนาตาของโปรแกรมควบคมผเรยนฝ งลกขายหมายเลข 2 คอ

listbox โดยมปมเปน button

Page 58: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

48

บทท 4 ผลการทดลอง

4.1 สภาพแวดลอมทใชส าหรบการทดลอง

เครองแมขายทเปนเครองของครลงโปรแกรมทใชควบคม 1 เครอง สวนเครองนกเรยน 40 เครองลงโปรแกรมทเปนตวเอเจนต(Agent)

Server

Client1,

agent

Client2,

agent

Client3,

agent

Client n,

agent

รปท 4.1 แสดงภาพรวมของหองปฏบตการคอมพวเตอร

จากรปท 4.1 แสดงภาพรวมของหองปฏบตการคอมพวเตอร ทม รายละเอยดโครงสรางของระบบเครอขายภายในหองปฏบตการดงน

•เปนระบบเครอขายทใชโครงสรางแบบดาว (Star Topology)

•ใชมาตรฐานการท างานแบบอเทอรเนต (Ethernet)

•มความเรวในการรบสงขอมลสงสดอยท 1,000 เมกะบตตอวนาท

•ใชสายยทพ (UTP) ชนด CAT 5 Enhanced

•มสวตซทรองรบความเรวในการรบสงขอมล 1,000 เมกะบตตอวนาท

Page 59: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

49

•ใชการดเนตเวรก (Network Interface Card) ทรองรบความเรวในการรบสงขอมล 1,000 เมกะบตตอวนาท

•ระบบปฏบตการเปน ระบบปฏบตการวนโดวสเอกซพ (Window XP) ทงหมด

4.2 วธและผลการทดลอง

4.2.1 เรมเปดโปรแกรม

ใหท าการเปดโปรแกรมควบคมผเรยนทเครองแมขายกอนแลวกดปม Start

รปท 4.2 แสดงการเรมโปรแกรมของเครองแมขาย

จากรป 4.2 เมอกดปมสตารท โปรแกรมจะเรมท างานปมสตารท(Start)จะจางไป และท

ชอง Active hosts Students ยงมคาเปนศนยเนองจากเครองผเรยนยงไมมการเปดเครอง

รปท 4.3 แสดงการนบจ านวนเครองลกขายทเขามาเชอมตอ

Page 60: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

50

จากรป 4.3 แสดงวาในขณะนมเครองคอมพวเตอรผเรยนเปดอย 40 เครองนนกคอ

จ านวนของเครองคอมพวเตอรทเปดอยในหองเรยน แลวยงแสดงเบอรไอพแอดเดรส และเบอร

พอรตดวย

รปท 4.4 แสดงขอความ Welcome ทโปรแกรมเครองผเรยน

จากรป 4.4 ทางฝ งเครองผเรยนเมอเปดโปรแกรมวนโดวสโปรแกรมทเปนตวแทน

(agent)จะเปดขนมาโดยอตโนมต และจะมขอความ WelCome…..เปนการพสจนวาการเชอมตอ

ไดเกดขนแลว เมอมขอความสงมามากผเรยนสามารถลบขอความทมการสงมาไดโดยการกดปม

Clear

รปท 4.5 โปรแกรมเครองผเรยนไมสามารถเชอมตอกบเครองควบคมได

จากรปท 4.5 ถาโปรแกรมทางฝ งผเรยนไมสามารถเชอมตอกบเครองควบคมไดจะขน

ขอความแจงเตอน Can’t connect to Server ผเรยนสามารถปดโดยการกดปม ok

Page 61: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

51

รปท 4.6 แสดง กระบวนการเกด 3 way handshake ท Port 5000

จากรปท 4.6 เมอใชโปรแกรม wireshark ดกจบแพคเกจจะเหนวาไดเกดกระบวนการ 3

way handshake ท Port 5000

4.2.1 ทดสอบฟงกชนการสงขอความ

เมอฝ งแมขายตองการสงขอความไปใหกบเครองผเรยนจะพมพขอความทชอง Enter

Text String

รปท 4.7 แสดงฟงกชนการขอความไปใหกบเครองผเรยน

Page 62: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

52

จากรปท 4.7 ทดลองพมพค าวา hello สวสด แลวกดปม Send เมอกดปม Send แลว

ขอความทพมพในชอง Enter text string จะหายไป

รปท 4.8 แสดงขอความทเกดขนทชอง Teacher message

จากรปท 4.8 เมอกดปม Send จะมขอความของความวา My message : hello สวสด

ขนทชอง Teacher message เพอเปนการแจงวาในขณะนนทเครองควบคมไดสงขอความอะไร

ออกไปใหกบเครองผเรยน

รปท 4.9 แสดงขอความทเครองลกขายไดรบ

Page 63: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

53

จากรปท 4.9 ทางเครองผเรยนจะไดรบขอความวา hello สวสด ทชอง Result from

Teacher

4.2.2 ทดสอบฟงกชนปดอปกรณอนพตเครองผเรยน

โปรแกรมทางเครองควบคมจะมฟงกชนปดการท างานของอปกรณอนพต ไดแก หนาจอ

เมาส คยบอรด ของผเรยนไมใหสามารถใชงานได

รปท 4.10 แสดงการทดสอบฟงกชนการปดอปกรณอนพตเครองผเรยน

รปท 4.10 ถาจะใชฟงกชนการปดอปกรณอนพตเครองผเรยน กใหกดปม lock ในสวน

ของ Lock input Student

รปท 4.11 แสดงผลทเกดกบเครองลกขายเมอใชฟงกชนลอกอปกรณอนพตเครองผเรยน

Page 64: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

54

จากรปท 4.11 เครองคอมพวเตอรผเรยนจะเขาสโหมด ลอคออฟ และ เมาส กบ

คยบอรด จะไมสามารถใชงานได

รปท 4.12 แสดงการใชงานฟงกชนปลดลอกอปกรณอนพตเครองผเรยน

จากรปท 4.12 เมอเครองควบคมตองการใหเครองผเรยนสามารถใชงานอปกรณอนพต

ไดตามปกตกสามารถท าไดโดยการกดปม unlock ทตวโปรแกรมควบคม เครองผเรยนกจะ

สามารถใชงานเมาส กบ คยบอรด ไดตามปกต

4.2.3 ทดสอบฟงกชนปดหรอรสตารทเครองคอมพวเตอรผเรยน

เมอตองการใชงานฟงกชนปดเครองผเรยนทเปดเครองทงไว

รปท 4.13 แสดงการใชงานฟงกชนปดเครองผเรยน

Page 65: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

55

จากรปท 4.13 ใหกดปม shutdown ในสวนของ Shutdown Student

รปท 4.14 แสดงการใชงานฟงกชนปดเครองผเรยน

จากรปท 4.14 เครองผเรยนจะเรมปดเครองโดยจะนบถอยหลง 30 วนาทกอนจะปด

รปท 4.15 แสดงฟงกชนการยกเลกการปดเครองผเรยน

Page 66: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

56

จากรปท 4.15 ภายใน 30 วนาทนถาตองการยกเลกการปดเครองกสามารถท าไดโดย

การกดทปม cancel shutdown

รปท 4.16 แสดงฟงกชนการรสตารทเครองผเรยน

จากรปท 4.16 แตถาเครองควบคมตองการรสตารทเครองผเรยนกสามารถท าไดโดย

การกดปม Restart ในสวนของ Shutdown Student เครองผเรยนกจะท าการปดเครองภายใน

30 วนาท แลวจะเปดเครองขนมาใหม

4.3 สรปผลการทดลอง

จากการทไดทดลองโปรแกรมควบคมเครองผเรยน พบวา

•โปรแกรมสามารถ สงขอความ ไปทเครองผเรยนไดทงหองจ านวน 40 เครองได

•โปรแกรมสามารถ ท าการปดการใชงานหนาจอ เมาส กบ คยบอรด คอมพวเตอรของผเรยนได และสามารถสงค าสงท าใหสามารถกบมาใชงานไดตามปกตได

•โปรแกรมสามารถมองเหนวาเมอหมดคาบเรยนแลวเครองคอมพวเตอรของผเรยนเครองใดยงไมปด แลวสามารถสงสงปดเครองท าใหเครองทเปดอยปดเครองได

จงแสดงไดวาโครงงานนประสบผลส าเรจตามจดมงหมายทไดก าหนดไว

Page 67: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

57

บทท 5

สรปผลโครงงาน

5.1 ขอสรปผลการด าเนนงาน ในการศกษาโครงงานนผจดท าไดศกษารวบรวบขอมลทเกยวของ ออกแบบระบบการท างานของโปรแกรม ด าเนนงานเขยนโปรแกรม และพฒนาปรบปรงโปรแกรมเพอใหสามารถใชใหเกดประโยชนจรงๆ กบการเรยนการสอนในหองปฏบตการคอมพวเตอร ท าใหผจดท ามความรเกยวกบการเขยนโปรแกรมในการสอสารขอมลระหวางเครองแมขายและเครองลกข ายเพมมากขน สามารถลดการอตราการแอบเลนเกม หรอ อนเตอรเนต ท าใหผเรยนมสมาธในการเรยนเพมมากขน ชวยในเรองประสทธภาพในการเรยนการสอนไดจรง ชวงทายคาบอาจารยไมตองเดนส ารวจและปดเครองคอมพวเตอรเองทละเครองได และยงชวยลดคาใชจายในการทโรงเรยนตองจดซอโปรแกรมประเภทนมาใชงาน และคาใชจายในการซอมบ ารงคอมพวเตอรทเกดจากการตดกระแสไฟฟา

5.2 ปญหาและอปสรรคการด าเนนงาน จากการไดท าการศกษา และลงมอพฒนาโปรแกรมควบคมผเรยน ตวโปรแกรมตองใชความเขาในหลายๆ ดาน ทงดาน Network Programming ,ฟงกชนตางๆทเกยวของกบตววนโดว รวมทงตองศกษาการใชภาษา C# ทใชในการพฒนาโปรแกรมอก ท าใหการพฒนาเกดความลาชา และท าใหมปญหาของโปรแกรมบางจดทคาดไมถง 5.3 แนวทางในการพฒนาตอ

เขยนพฒนาใหมฟงกชนการใชงานทเพมมากขน เชน การปดการใชงานยเอสบ การ

บลอกเวบ การรโมท การสงไฟลเปนตนและตรวจสอบแกไขปญหาของโปรแกรมทมอยใหมนอย

ทสด

Page 68: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

58

เอกสารอางอง

[1] จตชย แพงจนทร, “เจ าะระบบ Network 2nd Edition” พมพครงท1 นนทบร : ไอดซฯ, 2551

[2] พศาล พทยาธรวฒน , “ตดตงระบบเครอขายคอมพวเตอร Internet/Intranet ฉบบผเรมตน”,

ซเอดยเคชน จ ากด,พ.ศ.2551

[3] ผศ.ดร.ประวทย ชมช , “เครอขายไรสายและเคลอนท” ภาควชาวศวกรรมโทรคมนาคม

มหาวทยาลยมหานคร,พ.ศ.2553

[4] Richard Blum, “ C# Network Programming ”,SYBEX Inc.2003

[5] Fiach Reid, “Network Programming in.Net with C# and Visual Basic.Net”,Elsevier

Digital Press,2004

Page 69: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

59

ภาคผนวก ก

วธตดตงโปรแกรมควบคมคอมพวเตอรผเรยน

Page 70: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

60

วธตดตงโปรแกรมควบคมคอมพวเตอรผเรยนฝงแมขาย(Server)

ตดตงโปรแกรมทเครองของครผสอนโดยในการตดตงโปรแกรมด าเนนการดงน

1. ใหน าไอคอน Teacher.exe วางไวทหนาจอ(Desktop)ของเครองคอมพวเตอร

2. ใหดบเบลคลก icon Teacher.exe เพอเปนการเปดโปรแกรมกจะปรากฏตว

โปรแกรมควบคมดงรป

รปท ก.1 หนาจอโปรแกรมควบคมคอมพวเตอรผเรยนฝ งควบคม

Page 71: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

61

วธตดตงโปรแกรมควบคมคอมพวเตอรผเรยนฝงลกขาย(agent)

ตดตงโปรแกรมทเครองผเรยนโดยในการตดตงโปรแกรมด าเนนการดงน

1. ใหน าไอคอน Student.exe วางไวท Startup Windows คอไปท start All Program

Startup

รปท ก.2 การตดตงโปรแกรมควบคมคอมพวเตอรผเรยนฝ งลกขาย

Page 72: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

62

2. เมอเปดเครองคอมพวเตอรโปรแกรมจะเปดขนมาโดยอตโนมต

รปท ก.3 หนาจอโปรแกรมควบคมคอมพวเตอรผเรยนฝ งลกขาย

Page 73: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

63

ภาคผนวก ข

คมอการใชงานโปรแกรมควบคมคอมพวเตอรผเรยน

Page 74: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

64

คมอคมอการใชงานโปรแกรมควบคมคอมพวเตอรผเรยน

โปรแกรมควบคมคอมพวเตอรผเรยน 3 สวน คอ Send Message ,Lock Input และ

Shutdown โดยแตละสวนท างานดงน

1. ขนตอนการใชงาน Send Message

โปรแกรมจะสามารถสงขอความใด ใหกบเครองผเรยนไดโดยการสงขอความนจะเปน

การสอสารขางเดยว เครองผเรยนไมสามารถสงขอความมาหาเครองครได และในการ

สงขอความนจะเปนการสงขอความใหกบเครองผเรยนทงหอง

2. ขนตอนการใชงาน Lock Input

โปรแกรมจะสามารถสงค าสงลอคเครองคอมพวเตอรของผเรยน โดยสงใหหนาจอเขาส

โหมดลอคออฟ และปดการท างานของเมาส กบ คยบอรดไมใหสามารถใชงานไดโดย

การสงโพรโทคอล lip แตเมอตองการใหเครองผเรยนสามารถกลบมาใชงานไดตามปกต

กสามารถท าไดโดยการสงโพรโทคอล ulip เครองผเรยนกจะสามารถกลบมาใชงานได

ตามปกต

3. ขนตอนการใชงาน Shutdown

โปรแกรมจะสามารถสงค าสงปดเครองหรอรสตารทเครองผเรยนไดทงหองโดยการสง

โพรโทคอล sd เมอตองตองปดเครอง และสงโพรโทคอล rs เมอตองการรสตารทเครอง

ผเรยน

ขนตอนการใชงานโปรแกรม

•ขนตอนการสตารทโปรแกรม กดปม Star ในสวนของ Start Server

รปท ข.1 เรมสตารทโปรแกรมควบคมคอมพวเตอรผเรยน

Page 75: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

65

•ขนตอนการสงขอความ พมพขอความทตองการจะสงใหกบเครองผเรยนทชอง Enter text

string แลว กด Send

รปท ข.2 การใชงานฟงกชนสงขอความ

•ขนตอนการใชงานฟงกชนลอคเครองคอมพวเตอรของผเรยนใหกดทปม lock ในสวนของ Lock input Student

รปท ข.3 ขนตอนการใชงานฟงกชนลอคเครองคอมพวเตอรของผเรยน

Page 76: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

66

•ขนตอนการใชงานฟงกชนปลดลอคเครองคอมพวเตอรของผเรยนใหกดทปม unlock ในสวนของ Lock input Student

รปท ข.4 ขนตอนการใชงานฟงกชนปลดลอคเครองคอมพวเตอรของผเรยน

•ขนตอนการใชงานฟงกชนปดเครองคอมพวเตอรของผเรยนใหกดทปม Shutdown ในสวนของ Shutdown Student

รปท ข.4 ขนตอนการใชงานฟงกชนปดเครองคอมพวเตอรของผเรยน

Page 77: Annop Suwanbumrungsuk - msit.mut.ac.th ระบบควบคุม...บทที่ 5 สรุปผลโครงงาน 5.1 ข้อสรุปผลการด าเนินงาน

67

•ขนตอนการใชงานฟงกชนยกปดเครองคอมพวเตอรของผเรยนใหกดทปม Cancel Shutdown ในสวนของ Shutdown Student

รปท ข.5 ขนตอนการใชงานฟงกชนยกปดเครองคอมพวเตอรของผเรยน

•ขนตอนการใชงานฟงกชนรสตารทเครองคอมพวเตอรของผเรยนใหกดทปม Restart ในสวนของ Shutdown Student

รปท ข.6 ขนตอนการใชงานฟงกชนรสตารทเครองคอมพวเตอรของผเรยน