1 of 25 โปรแกรมสนทนา (chat program) · 1 of 25...

25
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 เป็นตัวใช้บริการจะอยู ่อีกเครื่องหนึ่ง

Upload: others

Post on 07-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 11 of 25 

 

Interface MulticastChatListener คอยดกรอเหตการณทเกดขน

 

Class MulticastView เปนสวนออกแบบ GUI

Page 12: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 15 of 25 

 

 

Page 16: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 18 of 25 

 

Class ClientChatView ทาหนาทเปนสวน GUI ใชในการตดตอสนทนา

 

Page 19: 1 of 25 โปรแกรมสนทนา (Chat Program) · 1 of 25 โปรแกรมสนทนา (Chat Program) . ทฤษฏี. Client/Server. Client/Server . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 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 . เป็นการอธิบายความสัมพันธ์ระหว่างโปรแกรมคอมพ

 25 of 25 

 

2.8 เมอเลอกไฟลไดแลวโปรแกรมกจะสงไปยงผ รบปลายทางโดยจะมขอความบอกวาม File

สงมาให

 

2.9 การบนทกไฟลทสงมาไปยงสอตางๆ โดยไปท Tab Receive File จะเหนชอไฟลทเขามาให

ทาการเลอกตรงชอทตองการจะบนทกตอจากนนกใหกดป ม Save as กจะม Dialog Save

ขนมาใหเลอก File Name และ Path