ซ็อกเก็ตและไลบรารีที่อยู่ C++ ที่เรียบง่ายและใช้งานง่าย
คุณต้องการที่จะมีการสื่อสารผ่านเครือข่ายในโปรแกรมเล็ก ๆ ของคุณ แต่ดูเหมือนการเพิ่มประสิทธิภาพจะมากเกินไปใช่ไหม? และซ็อกเก็ตนี้จะยากแค่ไหนใช่มั้ย? - หลังจากที่อยู่ที่นั่นมากกว่าหนึ่งครั้ง ฉันเขียนห้องสมุดนี้ด้วยความหวังว่าจะช่วยฉันจากการเขียนโค้ดซ็อกเก็ตแบบใช้ครั้งเดียวแบบ half-assed ในอนาคต
กำหนดค่าและสร้างไลบรารี/ตัวอย่าง/สาธิต/ทดสอบโดยใช้ CMake
เป้าหมายการติดตั้ง CMake เตรียมโครงการสาธิตที่ใช้ CMake ซึ่งเหมาะสมเป็นจุดเริ่มต้นสำหรับแอปพลิเคชันของตัวเอง
คลาส Address
แสดงถึง localhost หรือที่อยู่ UDP/TCP ระยะไกล และใช้เพื่อสร้างภายในเครื่องและส่ง/เชื่อมต่อกับซ็อกเก็ตระยะไกล
คลาสซ็อกเก็ต Socket*
, Socket*Buffered
และ Socket*Async
ให้ระดับความสะดวกสบายที่แตกต่างกันเกี่ยวกับการแสดงซ็อกเก็ตระบบปฏิบัติการดิบ:
SocketUdp
และ SocketTcp
อนุญาตให้ใช้ฟังก์ชันพื้นฐาน เช่น เชื่อมต่อ ส่ง และรับ ในขณะที่ Acceptor
ฟังสำหรับการเชื่อมต่อ TCP ขาเข้าSocketUdpBuffered
และ SocketTcpBuffered
เพิ่มพูลบัฟเฟอร์การรับภายในSocketUdpAsync
และ SocketTcpAsync
รวมถึง AcceptorAsync
ทำงานโดย Driver
(เช่น เธรด) ซึ่งให้การดำเนินการแบบอะซิงโครนัสกับซ็อกเก็ตหนึ่งหรือหลายซ็อกเก็ตหากสร้างด้วยการสนับสนุน TLS คลาสซ็อกเก็ต TCP ทั้งหมดสามารถสร้างอินสแตนซ์ด้วยใบรับรอง SSL และไฟล์คีย์ส่วนตัวเพื่อเรียกใช้การเชื่อมต่อที่เข้ารหัส
คลาส ToDo
ใช้สำหรับการจัดตารางเวลางานให้ Driver
รัน ณ จุดเวลาที่กำหนด เช่น การส่งแพ็กเก็ตฮาร์ทบีทเป็นระยะ ๆ หรือพยายามเชื่อมต่อใหม่