Skip to main content

การเขียนโปรแกรมซ็อกเก็ตสำหรับระบบเครือข่ายคอมพิวเตอร์ - สรุป

Anonim

ซ็อกเก็ตเป็นหนึ่งในเทคโนโลยีขั้นพื้นฐานที่สุดของการเขียนโปรแกรมเครือข่ายคอมพิวเตอร์ ซ็อกเก็ตอนุญาตให้แอ็พพลิเคชันซอฟต์แวร์เครือข่ายสื่อสารโดยใช้กลไกมาตรฐานที่มีอยู่ภายในฮาร์ดแวร์และระบบปฏิบัติการเครือข่าย

แม้ว่าอาจเป็นเพียงลักษณะของการพัฒนาซอฟต์แวร์อินเทอร์เน็ต แต่เทคโนโลยีซ็อกเก็ตก็มีอยู่ก่อนเว็บ และหลายแอพพลิเคชันเครือข่ายที่ได้รับความนิยมมากที่สุดในปัจจุบันใช้กับซ็อกเก็ต

สิ่งที่ Sockets สามารถทำได้สำหรับเครือข่ายของคุณ

ซ็อกเก็ตหมายถึงการเชื่อมต่อระหว่างซอฟท์แวร์สองชิ้น (ที่เรียกว่า จุดต่อจุด การเชื่อมต่อ) ซอฟต์แวร์มากกว่าสองชิ้นสามารถสื่อสารกับไคลเอ็นต์ / เซิร์ฟเวอร์หรือระบบแบบกระจายโดยใช้ซ็อกเก็ตได้หลายแบบ ตัวอย่างเช่นเว็บเบราเซอร์จำนวนมากสามารถสื่อสารกับเว็บเซิร์ฟเวอร์เดียวผ่านกลุ่มซ็อกเก็ตที่ทำบนเซิร์ฟเวอร์

ซอฟท์แวร์ที่ใช้ซ็อกเก็ตมักจะทำงานบนคอมพิวเตอร์สองเครื่องแยกกันบนเครือข่าย แต่ซ็อกเก็ตยังสามารถใช้ในการสื่อสารในพื้นที่ได้ จัดสรร ) บนคอมพิวเตอร์เครื่องเดียว ซ็อกเก็ตอยู่ แบบสองทิศทาง ซึ่งหมายความว่าด้านใดด้านหนึ่งของการเชื่อมต่อสามารถรับส่งและรับข้อมูลได้ บางครั้งแอพพลิเคชันหนึ่งที่เริ่มต้นการติดต่อสื่อสารเรียกว่า "client" และแอ็พพลิเคชันอื่น ๆ คือ "server" แต่คำศัพท์ดังกล่าวนำไปสู่ความสับสนในระบบ peer to peer และโดยทั่วไปควรหลีกเลี่ยง

Socket APIs และ Libraries

ห้องสมุดหลายแห่งที่ใช้อินเตอร์เฟซการเขียนโปรแกรมแอ็พพลิเคชันมาตรฐาน (APIs) มีอยู่บนอินเทอร์เน็ต แพคเกจหลักแรก - ห้องสมุด Berkeley Socket ยังคงใช้กันอย่างแพร่หลายในระบบยูนิกซ์ อีกหนึ่ง API ทั่วไปคือไลบรารี Windows Sockets (WinSock) สำหรับระบบปฏิบัติการ Microsoft เมื่อเทียบกับเทคโนโลยีคอมพิวเตอร์อื่น ๆ ซ็อกเก็ต API จะโตเต็มที่: วินสโคปเริ่มใช้งานตั้งแต่พศ. 2536 และซ็อกเก็ตเบิร์กเลย์ตั้งแต่ปี 2525

ซ็อกเก็ต APIs มีขนาดค่อนข้างเล็กและเรียบง่าย หลายฟังก์ชันคล้ายกับที่ใช้ในการป้อนข้อมูล / เอาต์พุตของไฟล์เช่น อ่าน(), เขียน(), และ ปิด(). ฟังก์ชั่นการใช้งานจริงขึ้นอยู่กับภาษาโปรแกรมและไลบรารีซ็อกเก็ตที่เลือกไว้

ชนิดของอินเทอร์เฟซของซ็อก

อินเตอร์เฟซซ็อกเก็ตสามารถแบ่งออกเป็นสามประเภท:

  • กระแส ซ็อกเก็ตชนิดที่พบมากที่สุดต้องให้ทั้งสองฝ่ายสื่อสารแรกสร้างการเชื่อมต่อซ็อกเก็ตหลังจากที่ข้อมูลใด ๆ ที่ผ่านการเชื่อมต่อที่จะได้รับการรับประกันที่จะมาถึงในลำดับเดียวกันในการที่มันถูกส่ง - เรียกว่ารูปแบบการเขียนโปรแกรมการเชื่อมต่อที่มุ่งเน้น .
  • เดตาแกรม ซ็อกเก็ตให้ความหมาย "การเชื่อมต่อน้อย" กับ datagrams การเชื่อมต่อมีนัยมากกว่าชัดเจนเช่นเดียวกับสตรีม ทั้งสองฝ่ายเพียงแค่ส่งดาต้าแกรมตามความจำเป็นและรอให้อีกฝ่ายตอบสนอง ข้อความอาจสูญหายในการรับส่งหรือได้รับคำสั่งไม่ถูกต้อง แต่เป็นความรับผิดชอบของแอพพลิเคชันไม่ใช่ซ็อกเก็ตเพื่อรับมือกับปัญหาเหล่านี้ การใช้ซ็อกเก็ตดาต้าจะทำให้แอพพลิเคชันบางตัวสามารถเพิ่มประสิทธิภาพและเพิ่มความยืดหยุ่นเมื่อเทียบกับการใช้ซ็อกเก็ตสตรีมเพื่อให้สามารถใช้งานได้ในบางสถานการณ์
  • ซ็อกเก็ตชนิดที่สาม - ดิบ ซ็อกเก็ต - ข้ามการสนับสนุนในตัวของไลบรารีสำหรับโปรโตคอลมาตรฐานเช่น TCP และ UDP ซ็อกเก็ตดิบใช้สำหรับการพัฒนาโปรโตคอลระดับต่ำที่กำหนดเอง

สนับสนุนซ็อกเก็ตในโปรโตคอลเครือข่าย

ซ็อกเก็ตเครือข่ายสมัยใหม่มักใช้ร่วมกับโปรโตคอลอินเทอร์เน็ต - IP, TCP และ UDP ไลบรารีที่ใช้ซ็อกเก็ตสำหรับ Internet Protocol ใช้ TCP สำหรับสตรีม UDP สำหรับดาต้าแกรมและ IP สำหรับซ็อกเก็ตดิบ

ในการสื่อสารผ่านทางอินเทอร์เน็ตไลบรารีซ็อกเก็ต IP ใช้ที่อยู่ IP เพื่อระบุคอมพิวเตอร์เฉพาะ หลายส่วนของอินเทอร์เน็ตทำงานกับบริการตั้งชื่อเพื่อให้ผู้ใช้และโปรแกรมเมอร์ซ็อกเก็ตสามารถทำงานร่วมกับคอมพิวเตอร์ตามชื่อ ( เช่น. , "thiscomputer.wireless.about.com") แทนตามที่อยู่ ( เช่น. , 208.185.127.40) ซ็อกเก็ตสตรีมและ datagram ยังใช้หมายเลขพอร์ต IP เพื่อแยกความแตกต่างของแอพพลิเคชันหลายตัวออกจากกัน ตัวอย่างเช่นเว็บเบราเซอร์บนอินเทอร์เน็ตรู้ว่าจะใช้พอร์ต 80 เป็นค่าเริ่มต้นสำหรับการสื่อสารแบบซ็อกเก็ตกับเว็บเซิร์ฟเวอร์