SKCP เป็นไลบรารีของการห่อหุ้ม KCP ซึ่งมีหน้าที่ในการจัดการการเชื่อมต่อและการเข้ารหัส
“ไม่ใช่ว่าใช้ไม่ได้” ประยุกต์ใน SKCPTUN
สภาพแวดล้อมการทำงาน: Linux, MacOS
ไลบรารีที่ต้องพึ่งพา: OpenSSL, libev
รหัสไคลเอ็นต์จำเป็นต้องใช้สิ่งต่อไปนี้ใน skcp_conf_t:
void (*on_recv_cid)(skcp_t *skcp, uint32_t cid);
void (*on_recv_data)(skcp_t *skcp, uint32_t cid, char *buf, int len);
void (*on_close)(skcp_t *skcp, uint32_t cid);
รหัสเซิร์ฟเวอร์จำเป็นต้องใช้สิ่งต่อไปนี้ใน skcp_conf_t:
void (*on_accept)(skcp_t *skcp, uint32_t cid);
int (*on_check_ticket)(skcp_t *skcp, char *ticket, int len);
void (*on_recv_data)(skcp_t *skcp, uint32_t cid, char *buf, int len);
void (*on_close)(skcp_t *skcp, uint32_t cid);
รวบรวมรหัสทดสอบ:
cd skcp
mkdir build
make
รันเซิร์ฟเวอร์ทดสอบ:
cd build
./skcp_server
ปัจจุบัน คำสั่งเซิร์ฟเวอร์ทดสอบสามารถให้บริการได้เพียงไคลเอ็นต์เดียวเท่านั้น ซึ่งเป็นบริการแบบจุดต่อจุด หากจำเป็นต้องใช้มากกว่าหนึ่งรายการ จะต้องเริ่มต้นกระบวนการ skcp_server หลายรายการ เช่น "netcat" รับความช่วยเหลือผ่านพารามิเตอร์ "-h" ตามค่าเริ่มต้น ระบบจะฟังพอร์ต 6060 ที่ที่อยู่ 127.0.0.1 คุณสามารถระบุอินเทอร์เฟซและพอร์ตเครือข่ายการฟังตลอดจนคีย์เข้ารหัสผ่านพารามิเตอร์:
./skcp_server -a 0.0.0.0 -p 8080 -k yourpassword
รันไคลเอนต์ทดสอบ:
cd build
./skcp_client
รับความช่วยเหลือผ่านพารามิเตอร์ "-h" ตามค่าเริ่มต้น พอร์ต 6060 ของที่อยู่ 127.0.0.1 จะเชื่อมต่ออยู่ คุณสามารถระบุอินเทอร์เฟซเครือข่ายและพอร์ตที่จะเชื่อมต่อและคีย์การเข้ารหัสผ่านพารามิเตอร์:
./skcp_client -a 127.0.0.1 -p 8080 -k yourpassword