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

การเขียนโปรแกรมซ็อกเก็ตเชื่อมต่อเซิร์ฟเวอร์และคอมพิวเตอร์ไคลเอ็นต์

การเขียนโปรแกรม Sockets เป็นเทคโนโลยีพื้นฐานที่อยู่เบื้องหลังการสื่อสารบนเครือข่าย TCP / IP ซ็อกเก็ตเป็นจุดปลายหนึ่งของการเชื่อมโยงสองทางระหว่างสองโปรแกรมที่ทำงานบนเครือข่าย ซ็อกเก็ตให้ปลายทางการสื่อสารแบบสองทิศทางสำหรับการส่งและรับข้อมูลด้วยซ็อกเก็ตอื่น การเชื่อมต่อแบบซ็อกเก็ตปกติทำงานระหว่างคอมพิวเตอร์สองเครื่องที่ต่างกันในเครือข่ายท้องถิ่น ( LAN ) หรือผ่านอินเทอร์เน็ต แต่สามารถใช้สำหรับการสื่อสารระหว่างกระบวนการบนคอมพิวเตอร์เครื่องเดียว

ซ็อกเก็ตและที่อยู่

จุดเชื่อมต่อแบบ Socket บนเครือข่าย TCP / IP แต่ละตัวมีที่อยู่ที่ไม่ซ้ำซึ่งเป็นที่รวมกันของที่ อยู่ IP และ หมายเลขพอร์ต TCP / IP เนื่องจากซ็อกเก็ตถูกผูกไว้กับหมายเลขพอร์ตที่ระบุเลเยอร์ TCP สามารถระบุแอ็พพลิเคชันที่ควรได้รับข้อมูลที่ส่งไป เมื่อสร้างซ็อกเก็ตใหม่ไลบรารีซ็อกเก็ตจะสร้างหมายเลขพอร์ตที่ไม่ซ้ำกันในอุปกรณ์นั้นโดยอัตโนมัติ โปรแกรมเมอร์ยังสามารถระบุหมายเลขพอร์ตในสถานการณ์เฉพาะได้เช่นกัน

วิธีการทำงานของเซิร์ฟเวอร์ Sockets

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

ไลบรารีซ็อกเก็ต

แทนที่จะใช้รหัสโดยตรงกับซ็อกเก็ตระดับต่ำ APIs โปรแกรมเมอร์เครือข่ายมักใช้ไลบรารีซ็อกเก็ต ห้องสมุดซ็อกเก็ตที่ใช้กันทั่วไปสองแห่งคือ Berkeley Sockets for Linux / Unix และ WinSock for Windows

ไลบรารีซ็อกเก็ตมีชุดฟังก์ชัน API คล้ายกับโปรแกรมเมอร์ที่ใช้สำหรับการทำงานกับไฟล์เช่น open (), read (), write () และ close ()