![Page 1: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/1.jpg)
1 of 25
โปรแกรมสนทนา (Chat Program)
• ทฤษฏ Client/Server
Client/Server เปนการอธบายความสมพนธระหวางโปรแกรมคอมพวเตอร 2 โปรแกรมโดย
โปรแกรมหนงทเปน client จะสรางคาขอบรการจากอกโปรแกรมหรอ server ทจะทาใหการขอครบถวน
ถงแมวาแนวคด client/server สามารถใชโดยโปรแกรมภายในคอมพวเตอรเครองเดยวแตแนวคดนเปน
แนวคดสาคญในระบบเครอขายในเครอขายแบบจาลอง client/server ใหแบบแผนการตดตอภายใน
โปรแกรมทใหประสทธภาพการกระจายขามตาแหนงทตางกนทรานแซคชนของคอมพวเตอรของผใช
โปรแกรม server ทธนาคารโปรแกรม server จะสงตอคาขอไปยงโปรแกรม client ของตวเองซงเปนการสง
คาขอไปยงฐานขอมลแมขาย ในคอมพวเตอรเครองอนของธนาคาร ซงเปนการสงขอมลกลบไปยงโปรแกรม
client ในคอมพวเตอร เพอแสดงสารสนเทศใหกบผขอหรอผใช
แบบจาลอง client/server จะมแมขาย (server) 1 แมขาย บางครง เรยกวา daemon เปนผกระทา
และคอยคาขอของ client โดยปกตโปรแกรม client หลายโปรแกรมใชบรการรวมกนจากโปรแกรม server
1 โปรแกรมทงโปรแกรม client และ server มกจะเปนสวนหนงของโปรแกรมประยกตขนาดใหญเมอ
เปรยบเทยบกบอนเตอรเนต web browser ของผใชเปนโปรแกรม client ทขอการบรการจาก web server
(ในทางเทคนคเรยกวา Hypertext Transfer Protocol server ) ซงเปนคอมพวเตอรอกเครองบน
อนเตอรเนตคลายคลงกบคอมพวเตอรทตดตง TCP/IP ยนยอมใหผใชสรางคาขอ client เพอขอไฟลจาก
file transfer protocol server ในคอมพวเตอรอกเครองบนอนเตอรเนต แบบจาลองความสมพนธของ
โปรแกรมแบบอนไดแก master/slave ซงมโปรแกรมหลกในการทางานและ peer to peer ทใหหนงใน
สองโปรแกรมสามารถทรานแซคชนเรมตนได
- Server คอ เครองททาหนาทในการใหบรการแก Client
- Client คอ เครองทไปขอใชบรการอยางใดอยางหนงจาก Server
- เปนระบบททางานในรปของความสมพนธของ Process ทอยบนตางเครองกน
- มขอบขายการทางานทแบงแยกกนอยางชดเจน คอ process ทใชเปนตวใหบรการอยในเครอง
หนง ใน ขณะท Client Process เปนตวใชบรการจะอยอกเครองหนง
![Page 2: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/2.jpg)
2 of 25
Protocol
โปรโตคอล คอระเบยบวธทกาหนดขนสาหรบการสอสารขอมลใหสามารถสงผานขอมล
ไปยงปลายทางไดถกตองหรอถาจะเปนการเปรยบเทยบอยางทพดไวขางตนกคอภาษาท
คอมพวเตอรใชในการตดตอสอสารกนนนเองซงปจจบนพบวามหลายภาษาหรอหลาย Protocol
เชนโปรโตคอลพฒนาขนโดยบรษท Novell ซงเปนผพฒนาระบบปฏบตการ Netware แบง
ออกเปน protocol หลก 2 protocol คอ IPX (Internet Packet Exchange) และ SPX (Sequence
Packet Exchange) โดย IPXทาหนาทในระดบ network layer มกลไกการสงผานขอมลแบบ
connectionless unreliable หมายความวาผสงขอมลไมตองรอสญญาณยนยนการรบขอมลจาก
ผ รบและไมมการตรวจสอบวาผ รบไดรบขอมลหรอไมสวน SPX ทาหนาทในระดบ transport layer
โดยสงผานขอมลในแบบตรงขาม IPX คอจะมการตรวจสอบสญญาณการยนยนการรบ-สงขอมล
จากผ รบและมการสงขอมลทนาเชอถอปกต Novellใช IPX เพอสงและรบ Packet และใช SPXเพอ
จดการเครอขาย
Apple Talk พฒนาโดยบรษท Apple Computer เพอเปนprotocol สาหรบเครอง Macintosh ซง
protocol Apple Talk ถกออกแบบใหทางานแบบ peer- to- peer ทถอวาเครองคอมพวเตอรทก
ตวทตออยในเครอขายสามารถเปน server ไดทกเครองตอมาในป 1989 Apple Talk ถกพฒนาให
สามารถรองรบเครอขายทใหญขนโดย สามารถมเครองลกขายและอปกรณทเชอมตอในเครอขาย
ไดมากกวาเดมเรยกวา Apple Talk Phase 2 และยงเพม protocol ทสามารถเชอมกบเครอขาย
แบบ Ethernet และ Token Ring ไดเรยกวา Ether Talk และ Token Talk
TCP/IP
ในการเชอมโยงเครอขายคอมพวเตอรจะตองมมาตรฐานหรอระเบยบทใชในการดตอ
สอสารทเรยกวาโปรโตคอลสาหรบการตดตอผานเครอขายอนเทอรเนตซงมเครองอมพวเตอรท
เชอมตอกนและมผใชจานวนมากมายมหาศาลกจาเปนตองมการกาหนดวธการทใชเปนมาตรฐาน
โดยใชโปรโตคอล ชอวาโปรโตคอลทซพ/ไอพ (TCP/IP) ซงยอมาจากคาวา Transmission Control
Protocol /Internet Protocol
โปรโตคอลทซพ/ไอพจะมการกาหนดกฎเกณฑรปแบบการเชอมตอของเครอคอมพวเตอร
ในเครอขายการโอนยายขอมลการแสดงสถานะทใชในการเชอมตอขอมลระหวาง เครองตนทาง
และเครองปลายทางทมยหอมากมายหลายระดบ(ตงแตระดบคอมพวเตอรพซแสตนอโลน เวรคส
![Page 3: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/3.jpg)
3 of 25
TPC/IP เปนชดโปรโตคอลทใชอนเตอรเนต ซงเปนทนยมใชกนแพรหลายมากในปจจบน
ในทนจะไดอธบายพนฐานของโปรโตคอลชดนไวบาง จดเรมตนของชดโปรโตคอลนมาจากกลม
งานวจยของ Defense Advanced Research Project Agency (DARPA) ซงไดตงเครอขาย
ARPANET แนวความคดในการทา internetwork ของ ARPANET นมมากอนทจะเกด ISO กม
บทบาทมากในการอางองทางดาน computer network จงควรพจารณาเปรยบเทยบชด TCP/IP น
กบ OSI model ดวย
ตามแนวคดของ OSI อาจมองเปนภาพรวมไดวาในระดบชนท 1 – 3 เปน local
procedures และในระดบชนท 4-7 เปน end- to- end procedures ถาสงเกตจะเหนวาใน
ระดบชนท 2 และ 4 นนจะมหนาทจดการกบขอผดพลาดเพมความเชอถอได ซงอาจมองวา
ซาซอนกนทงนเพราะในระดบชนท 3 อาจทาใหเกดการสญหายของขอมลในชวงทอยใน queue ท
โหนดเองแทนทจะไปหายบน line หรออกสาเหตหนงคออาจมความจาเปนตองละทงขอมล
บางสวนไปเพราะเกด Congestion จงทาใหดเหมอนวาระดบชนท 2 และ 4 นมหนาทซาซอนกน
ในบางสวนทอธบายถงแนวคดนกอนเพราะตองการใหเขาใจวาในการออกแบบโปรโตคอลแตละ
ชนนนจะตองพจารณาสภาพแวดลอมของโปรโตคอลระดบลาง คอผใหบรการดวย แบบจาลองการสอสารขององคกรมาตรฐานสากล ISO
แบบจาลองของการสอสารขอมลทกาหนดขนมาโดยองคการมาตรฐานสากล
(International Standard Organization – ISO ) และมชอเรยกวา Open
System Interconnection Model(OSI Model) ซงกอาจเรยกรวมกนแบบยอๆเปน ISO /
OSI Model แบบจาลองนไดแบงระยยการทางานในการสอสารออกเปนชนยอยๆ จานวน 7 ชน
![Page 4: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/4.jpg)
4 of 25
โดยหลกการแลวแตละชนจะสอสารกบชนในระดบเดยวกนทอยบนเครองอกเครองหนงแต
ในทางปฏบต แตละชนทอยตดกนทงทอยบนหรอลางเทานนจะยกเวนกแตชลางสดคอชน
Physical ทจะตดตอกบชน Physical ของอกเครองหนงได มขอสงเกตวาในทางปฏบตจรงมบาง
โอกาสเครองคอมพวเตอรอาจจะมการใชชนใดชนหนงพรอมๆ กนหลายๆครงโดยแตละครงมความ
เปนอสระตอกน เชน กรณเครองคอมพวเตอรทตดตงการดเครอขายจานวนหลายการดโดยอาจจะ
เปนอเตอรเนต (Ethernet) ทงหมด หรออเทอรเนตผสมกบโทเคนรง(Token Ring) และอนๆ กได
ในโลกแหงจนตนาการของแบบจาลอง ISO / ISO นนควรจะไดกาหนดตวสถาปตยกรรมน
ขนมากอนจากนนชนสวนตางๆ ทางดานเครอขายจงตามมาทหลงโดยหนวยงานทางการคา
หนวยงานวจยและองคกรณมาตรฐานแตละชนสวนทถกสรางขนมา จะตองตรงตามมาตรฐานชน
ใดชนหนงของสถาปตยกรรมนอยางสมบรณ อยางไรกตามในโลกแหงความเปนจรงนนม
เทคโนโลยจานวนไมนอยทถกพฒนาขนกอนทจะมแบบจาลองนและในบางกรณเทคโนโลยท
เกดขนภายหลงจากนบางอยางกไมไดเดนตามแบบจาลองนอยางสมบรณแมวาโลกแหงความเปน
จรงจะดหางไกลจากโลกแหงจนตนาการ แตผลทไดรบจากแบบจาลองนกชวยใหเกดแรงผลกดน
ไปสการพฒนาระบบทสามารถทางานรวมกนไดของผผลตรายการตางๆ
รายละเอยดของแตละชนในแบบจาลอง
ชน Physical ชน Physical เปนการอธบายคณสมบตทางกายภาพ เชน คณสมบตทางไฟฟา และกลไกตางๆ
ของวสดทใชเปนสอกลาง ตลอดจนสญญาณทชในการสงขอมล คณสมบตทกาหนดไวในชนน
ประกอบดวยคณลกษณะทางกายภาพของสาย อปกรณเชอมตอ (connector) ระดบความตาง
ศกยของไฟฟา (voltage) และอนๆ เชนอธบายถงคณสมบตของสาย Unshield Twisted
Pair(UTP)
![Page 5: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/5.jpg)
5 of 25
ชน Data-link
ชน Data-link เปนชนทอธบายถงการสงขอมลไปบนสอกลาง ชนนยงไดแบงออกเปนชนยอย (sub
layer) คอ Logical Link Control (LLC) และ Media Access Control (MAC) การแบงแยกเชนน
จะทาใหชน LLC เดยวจะสามารถใชชน Macทแตกตางกนแยกไปไดหลายชน ชน MAC นนเปน
การดาเนนการเกยวกบแอดเดรสทางกายภาพอยางทใชในมาตรฐานอเทอรเนตและโทเคนรง
แอดเดรสทางกายภาพนจะถกใชงานในชน Network เพอความชดเจนครบถวนสมบรณของการใช
ชน Data-link น รายละเอยดการใชงานกรณของอเทอรเนตและโทเคนรง
ชน Network
ในขณะทชน Data link ใหความสนใจกบแอดเดรสทางกายภาพ แตการทางานในชน Network จะ
ใหความสนใจกบแอดเดรสทางตรรกะการทางานในชนน จะเปนการเชอมตอและการเลอกเสนทาง
นาพาขอมลระหวางเครองสองเครองในเครอขายชน Network ยงใหบรการเชอมตอในแบบ
Connection Oriented อยางเชน x.25 หรอ บรการแบบ Connectionless เชน Internet Protocol
ซงใชงานโดยชน Transport ตวอยางของการบรการหลกทชน Network มใหคอ การเลอกเสนทาง
นาพาขอมลไปยงปลายทางทเรยกวา Routing ตวอยางของโปรโตคอลในชนนประกอบดวย
Internet Protocol (IP) และ Internet Control Message Protocol (ICMT)
ชน Transport
ในชนนมบางโปรโตคอล จะใหบรการทคอนขางคลายกบทมในชน Network โดยมบรการดาน
คณภาพททาใหเกดความนาเชอถอ แตในบางโปรโตคอลทไมมการดแลเรองคณภาพดงกลาวจะ
อาศยการทางานในชน Transport นเพอชวยดแลเรองคณภาพแทน เหตผลทสนบสนนการใชงาน
ชนนกคอในบางสถานการณของชนในระดบลางทงสาม (คอชน Physical Data-Link และ
Network)ดาเนนการโดยผใหบรการโทรคมนาคมการจะเพมความมนใจในคณภาพใหกบ
ผใชบรการกดวยการใชชน Transport น “Transmission Control Protocol(TCP) เปนโปรโตคอล
ในชน Transport ทมการใชงานมากทสด”
ชน Session
ชน session ทาหนาทสรางการเชอมตอ , การจดการระหวางการเชอมตอ , และการเชอมตอคาวา
“เซสชน” (Session) นนหมายถงการเชอมตอกนในเชงตรรกะ (Logic) ระหวางปลายทางทงสอง
ดาน(เครอง 2เครอง) ชนนอาจไมจาเปนตองถกใชงานเสมอไป อยางเชน ถาการสอสารเปนไปใน
![Page 6: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/6.jpg)
6 of 25
ชน Presentation
ชน Presentation ใหบรการทาการตกลงกนระหวางสองโปรโตคอลถงไวยากรณ (Syntax)ทจะใช
ในการรบสงขอมล เนองจากวาไมมการรองรบถงไวยากรณทจะใชรวมกน การทางานในชนนจงม
บรการในการแบงขอมลตามทไดรบการรองขอ
ชน Application
ชน Application เปนชนบนสดของแบบจาลอง ISO/OSI เปนชนทใชบรการของชน Presentatoin
(และชนอนๆ ในทางออมดวย) เพอประยกตใชงานในดานตางๆ เชนการทา E- mail Exchange
(การรบสงอเมล) ,การโอนยายไฟล หรอการประยกตใชงานทางดานเครอขายอนๆ
TCP/IP
ประกอบดวยโปรแกรมททางานรวมกน 2 ตวคอ Transmission Control Protocol (TCP)
และ Internet Protocol (IP) การแบงลกษณะในการทางานกแบงเปน TCP มหนาทในการ
ตรวจสอบการรบสงขอมลระหวางเครองคอมพวเตอรผ รบและเครองคอมพวเตอรผสง ใหไดรบ
ขอมลทถกตองและครบถวนหรอหากมการสญหายของขอมล กจะมการแจงใหตนทางทสงขอมล
![Page 7: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/7.jpg)
7 of 25
ทมาของ TCP /IP
ถกพฒนาโดยกระทรวงกลาโหมของสหรฐอเมรกา หรอ DOD (Department of Defense)
ซงไดมการกาหนดและเรมใชรปแบบสถาปตยกรรม และ โปรโตคอลสาหรบเครอขายระดบ WAN
ท DOD ไดพฒนาขนมาใชเองคอ ARPANET และ โปรโตคอล TCP / IP เพอใชในการเชอมโยง
โฮสตคอมพวเตอรทมความหลากหลาย แตกตางกน และอยหางไกลกน ใหสามารถตดตอสอสาร
ขอมลกนได
Internet Address
หวใจสาคญของ TCP IP คอการจดเสนทางขาวสารซงอยทการาหนด Address ทเรยกวา Internet
Address แมขาย TCP / IP และทกสถานงานทกตวตองม Internet Address ทไมซากน
ประกอบดวยรหสเครอขายซงกาหนดจากศนยกลางและจะถกบรหารโดยเครอขาย ทองถนเสนทาง
ทงหมดจะม ARP (Address Recognition Protocol) เปนผแยกแยะสญญาณ Internet Address
เปนเลข 32 bit ทจะถกกาหนดใหทก Node บนเครอขาย Address นจะชวยให Gateway
แยกแยะเสนทางขอมลทจะสงจากเครองหนงไปยงอกเครองหนงโดยม UDP : User Data
Protocol เปนตวกาหนดวา Application ใดจะเปนผ รบขอมลโปรโตคอล IP ใหการสอสารแบบ
ดาตาแกรมระหวาง Node Internet Address ประกอบดวย 4 สวน AAA.BBB.CCC.DDD แตละ
สวนจะเรยกวาฟลดใชเลขฐาน 10 คนดวยจด class ของ Internet Address แบงไดดงน
Class A ถาฟลตแรกมคา 0 - 127
Class C ถาฟลตแรกมคา 128 - 191
Class C ถาฟลตแรกมคา 192 – 225
Class D ถาฟลตแรกมคา 224 - 239
ฟลตแรกจะมคาไมเกน225 เทานน การตความขนอยกบคลาสของมน
![Page 8: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/8.jpg)
8 of 25
1. ชนโฮสต-เครอขาย (Host-to-Network Layer) โพรโตคอลสาหรบการควบคมการสอสารในชนนเปนสงทไมมการกาหนดรายละเอยดอยางเปนทางการ
หนาทหลกคอการรบขอมลจากชนสอสาร IP มาแลวสงไปยงโหนดทระบไวในเสนทางเดนขอมลทางดาน
ผ รบกจะทางานในทางกลบกน คอรบขอมลจากสายสอสารแลวนาสงใหกบโปรแกรมในชนสอสาร
2. ชนสอสารอนเทอรเนต (The Internet Layer) ใชประเภทของระบบการสอสารทเรยกวา ระบบเครอขายแบบสลบชองสอสารระดบแพกเกต (packet-
switching network) ซงเปนการตดตอแบบไมตอเนอง (Connectionless) หลกการทางานคอการปลอยให
ขอมลขนาดเลกทเรยกวา แพกเกต (Packet) สามารถไหลจากโหนดผสงไปตามโหนดตางๆ ในระบบจนถง
จดหมายปลายทางไดโดยอสระ หากวามการสงแพกเกตออกมาเปนชดโดยมจดหมายปลายทางเดยวกนใน
ระหวางการเดนทางในเครอขาย แพกเกตแตละตวในชดนกจะเปนอสระแกกนและกน ดงนน แพกเกตท
สงไปถงปลายทางอาจจะไมเปนไปตามลาดบกได
a. IP (Internet Protocol) IP เปนโปรโตคอลในระดบเนตเวรคเลเยอร ทาหนาทจดการเกยวกบแอดเดรสและขอมล และควบคมการสง
ขอมลบางอยางทใชในการหาเสนทางของแพกเกต ซงกลไกในการหาเสนทางของ IP จะมความสามารถใน
การหาเสนทางทดทสด และสามารถเปลยนแปลงเสนทางไดในระหวางการสงขอมล และมระบบการแยก
และประกอบดาตาแกรม (datagram) เพอรองรบการสงขอมลระดบ data link ทมขนาด MTU (Maximum
Transmission Unit) ทแตกตางกน ทาใหสามารถนา IP ไปใชบนโปรโตคอลอนไดหลากหลาย เชน
Ethernet ,Token Ring หรอ Apple Talkการเชอมตอของ IP เพอทาการสงขอมล จะเปนแบบ
connectionless หรอเกดเสนทางการเชอมตอในทกๆครงของการสงขอมล 1 ดาตาแกรม โดยจะไมทราบ
ถงขอมลดาตาแกรมทสงกอนหนาหรอสงตามมา แตการสงขอมลใน 1 ดาตาแกรม อาจจะเกดการสงได
![Page 9: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/9.jpg)
9 of 25
3. ชนสอสารนาสงขอมล (Transport Layer) แบงเปนโพรโตคอล 2 ชนดตามลกษณะ ลกษณะแรกเรยกวา Transmission Control Protocol (TCP) เปน
แบบทมการกาหนดชวงการสอสารตลอดระยะเวลาการสอสาร (connection-oriented) ซงจะยอมใหมการ
สงขอมลเปนแบบ Byte stream ทไวใจไดโดยไมมขอผดพลาด ขอมลทมปรมาณมากจะถกแบงออกเปน
สวนเลกๆ เรยกวา message ซงจะถกสงไปยงผ รบผานทางชนสอสารของอนเทอรเนต ทางฝายผ รบจะนา
message มาเรยงตอกนตามลาดบเปนขอมลตวเดม TCP ยงมความสามารถในการควบคมการไหลของ
ขอมลเพอปองกนไมใหผสง สงขอมลเรวเกนกวาทผ รบจะทางานไดทนอกดวย
โปรโตคอลการนาสงขอมลแบบทสองเรยกวา UDP (User Datagram Protocol) เปนการตดตอแบบไม
ตอเนอง (connectionless) มการตรวจสอบความถกตองของขอมลแตจะไมมการแจงกลบไปยงผสง จงถอ
ไดวาไมมการตรวจสอบความถกตองของขอมล อยางไรกตาม วธการนมขอดในดานความรวดเรวในการสง
ขอมล จงนยมใชในระบบผใหและผใชบรการ (client/server system) ซงมการสอสารแบบ ถาม/ตอบ
(request/reply) นอกจากนนยงใชในการสงขอมลประเภทภาพเคลอนไหวหรอการสงเสยง (voice) ทาง
อนเทอรเนต
a. UDP : (User Datagram Protocol) เปนโปรโตคอลทอยใน Transport Layer เมอเทยบกบโมเดล OSI โดยการสงขอมลของ UDP นนจะเปน
การสงครงละ 1 ชดขอมล เรยกวา UDP datagram ซงจะไมมความสมพนธกนระหวางดาตาแกรมและจะ
ไมมกลไกการตรวจสอบความสาเรจในการรบสงขอมล
กลไกการตรวจสอบโดย checksum ของ UDP นนเพอเปนการปองกนขอมลทอาจจะถกแกไข หรอมความ
ผดพลาดระหวางการสง และหากเกดเหตการณดงกลาว ปลายทางจะไดรวามขอผดพลาดเกดขน แตมนจะ
เปนการตรวจสอบเพยงฝายเดยวเทานน โดยในขอกาหนดของ UDP หากพบวา Checksum Error กให
ผ รบปลายทางทาการทงขอมลนน แตจะไมมการแจงกลบไปยงผสงแตอยางใด การรบสงขอมลแตละครง
หากเกดขอผดพลาดในระดบ IP เชน สงไมถง, หมดเวลา ผสงจะไดรบ Error Message จากระดบ IP เปน
ICMP Error Message แตเมอขอมลสงถงปลายทางถกตอง แตเกดขอผดพลาดในสวนของ UDP เอง จะไม
มการยนยน หรอแจงใหผสงทราบแตอยางใด
b. TCP : (Transmission Control Protocol) อยใน Transport Layer เชนเดยวกบ UDP ทาหนาทจดการและควบคมการรบสงขอมล ซงมความสามารถ
![Page 10: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/10.jpg)
10 of 25
4. ชนสอสารการประยกต (Application Layer) มโพรโตคอลสาหรบสรางจอเทอรมนลเสมอน เรยกวา TELNET โพรโตคอลสาหรบการจดการแฟมขอมล
เรยกวา FTP และโพรโตคอลสาหรบการใหบรการจดหมายอเลกทรอนกส เรยกวา SMTP โดยโพรโตคอล
สาหรบสรางจอเทอรมนลเสมอนชวยใหผใชสามารถตดตอกบเครองโฮสตทอยไกลออกไปโดยผาน
อนเทอรเนต และสามารถทางานไดเสมอนกบวากาลงนงทางานอยทเครองโฮสตนน โพรโตคอลสาหรบการ
จดการแฟมขอมลชวยในการคดลอกแฟมขอมลมาจากเครองอนทอยในระบบเครอขายหรอสงสาเนา
แฟมขอมลไปยงเครองใดๆกได โพรโตคอลสาหรบใหบรการจดหมายอเลกทรอนกสชวยในการจดสง
ขอความไปยงผใชในระบบ หรอรบขอความทมผสงเขามา
• การออกแบบโปรแกรม 1. ไมตองผาน Server ใหตดตอกนโดยตรง และสงแบบ Multicast (สงเฉพาะเครองทอยในกลม
เดยวกน) การรบสงไฟล แบบ point to point โดยการใช Protocol UDP Multicast ใชกลม
Class D IP Address 225.0.0.1 Port 10009 มการออก Class ตางไดดงน
Class MulticastApp เปน Class ทใชในการ Run โปรแกรมเรมตน
![Page 11: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/11.jpg)
11 of 25
Interface MulticastChatListener คอยดกรอเหตการณทเกดขน
Class MulticastView เปนสวนออกแบบ GUI
![Page 12: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/12.jpg)
12 of 25
Class MulticastChat เปนสวนททาหนาทในการรบและสงขอมลในการสนทนา
Class FileSend ทาหนาทเกบ Object File ทจะตองสงหากนตอนสนทนา
![Page 13: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/13.jpg)
13 of 25
2. ใช Server ในการสงขอมลเปนแบบ Broadcast (สมาชกทกเครองจะเหนขอความทคยกน)
การรบสงไฟลแบบ Point to Point โปรแกรมจะถกแยกออกเปนสองสวนดวยกนคอสวนททา
หนาทเปน Server : ผใหบรการ และสวนทเปน Client : รบบรการซงขอมลจะตองผาน Server
ทกครงทมการสนทนาหรอสงไฟลขอมล
![Page 14: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/14.jpg)
14 of 25
Server : ทาหนาทใหบรการกบโปรแกรมสนทนาตวลกทจะตอง Connect เขามาและ
เกบขอมลเกยว User Name , Socket ท connect เขามาเพอทจะนาไปใช
ประโยชนในการตดตอสอสารกนภายหลง ซงตว Server นจะเปด Port รอให
บรการท Port ใดนนสามารถกาหนดไดท ServerConfig.properties โดยปกต
จะใช 10009 โปรแกรมจะประกอบไปดวย Class ดงน
Class ServerChatApp เปนตวททาหนา Run ของโปรแกรม Server
Class ServerChatView ทาหนาทเปน GUI
![Page 15: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/15.jpg)
15 of 25
![Page 16: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/16.jpg)
16 of 25
Class UserChat เปน Object ทจะใชเกบขอมล User Name และ Socket
Class ChatSocket ทาหนาทเปนตวกลางในการรบและสงขอความ ไฟลทสง
![Page 17: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/17.jpg)
17 of 25
Client : ใชบรการตว Server เปนสวนตดตอกบผใชงานในการสนทนาและสงไฟลขอมล
ในการตดตอตองสงขอมลเกยว User Name ไปยง Server แลวถงจะสรางชอง
ทางการตดตอไวโดยม Class ตางๆดงน
Class ClientChatApp เปนตวทใช Run โปรแกรม
Class SendFile เปนตวทใชเรยกตอนกดป มทจะสงไฟลขอมล
![Page 18: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/18.jpg)
18 of 25
Class ClientChatView ทาหนาทเปนสวน GUI ใชในการตดตอสนทนา
![Page 19: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/19.jpg)
19 of 25
Class FileSendB เปนสวนทจะเกบขอมลของ File ทสงหากนเพอจะรอการบนทกออกไป
Class PrivateChat เปนสวนทใชในการสนทนากนแบบสวนตวคอสองตอสองคนอนจะ
ไมเหน Message นนๆ
![Page 20: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/20.jpg)
20 of 25
• การทางานของโปรแกรม 1. แบบทไมตองผาน Server ใชสนทนาในวงแลนเดยวกน โปรแกรมชอ Multicast.jar
1.1 การ Sign In เขาใชงานตองใสชอคนทจะใชงานตรงชอง User Name จากนนกดป ม Sign
In
![Page 21: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/21.jpg)
21 of 25
1.2 เมอ Sign In เสรจป มจะเปลยนเปน Sign Out แทนจะม Message แสดงใหเหนคนทม
การ Sign In เขามา Join กนและจะเหน User Name ทดานขวามอ
1.3 การสนทนากนกสามารถทาไดโดยปอนขอความแลวกดป ม Send ขอความกจะแพร
ออกไปยงทกคนท Chat อย
1.4 การสง File โดยใหเลอกชอของคนรบปลายทางกอนทจะสง File จากนนกดป ม Send File
จากนนจะม Dialog ขนมาใหเลอก File ทจะสงเมอสงขอมลนนไปถงปลายทางแลวจะม
ขอความแสดงใหเหนวาม File ขอมลเขามา
![Page 22: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/22.jpg)
22 of 25
1.5 เมอผ รบปลายทางไดรบแลวกสามารถทจะบนทกออกไปยงสอตางๆ ไดโดยเลอกยง Tab
File Receive จะเหนชอ File ใหเลอกตรงชอ File นนแลวกดป ม Save as จะเหน Dialog
Save File ขนมาใหเลอกชอไฟลและ Path
2. แบบทตองผาน Server ใชสนทนาตางวงแลนจะแบงโปรแกรมออกเปนสองสวนคอ Server กบ
Client
2.1 ตองทาการ Start Service ทตว Server โดยกดทป ม Start Server (ServerChat.jar)
![Page 23: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/23.jpg)
23 of 25
2.2 Run Client (ClientCaht.jar)
2.3 ทาการ Sign In โดยใหกาหนด Server Name / IP ตามดวย Port ทเปดรอทโปรแกรมฝง
Server และตองใส User Name จากนนกดป ม Sign In จากนนป มจะเปลยนเปน Sign
Out
2.4 เมอมคนอนท Sign In เขามากจะเหน Message บอกวามคน Sign In และแสดงชอทาง
ดานขวา
![Page 24: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/24.jpg)
24 of 25
2.5 การสนทนากสามารถพมพขอความแลวกดป ม Send ไดเลยขอความกจะแพรไปทกคนท
Sign In อย
2.6 การสนทนาแบบสองตอสองโดยสามารถเลอกชอคนทจะสนทนาดวยแลวกดทป ม Private
จากนนนะเหนหนาตางสนทนาขนมาใหอกหนาตาง
2.7 การสง File ตองเลอกชอคนรบปลายทางกอนแลวคอยกดป ม Send File จากนนจะม
Dialog ขนมาใหเลอก File
![Page 25: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ](https://reader031.vdocument.in/reader031/viewer/2022041906/5e637c101253af652f7c1cef/html5/thumbnails/25.jpg)
25 of 25
2.8 เมอเลอกไฟลไดแลวโปรแกรมกจะสงไปยงผ รบปลายทางโดยจะมขอความบอกวาม File
สงมาให
2.9 การบนทกไฟลทสงมาไปยงสอตางๆ โดยไปท Tab Receive File จะเหนชอไฟลทเขามาให
ทาการเลอกตรงชอทตองการจะบนทกตอจากนนกใหกดป ม Save as กจะม Dialog Save
ขนมาใหเลอก File Name และ Path