skcp
1.0.0
SKCP is a library of encapsulation of KCP, it has the function of connection management and encryption.
“又不是不能用”,應用在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”參數獲取幫助。 預設監聽127.0.0.1位址的6060埠。 可透過參數指定監聽的網路介面和連接埠以及加密的key:
./skcp_server -a 0.0.0.0 -p 8080 -k yourpassword
運行測試客戶端:
cd build
./skcp_client
透過“-h”參數獲取幫助。 預設連接127.0.0.1位址的6060連接埠。 可透過參數指定需要連接的網路介面和連接埠以及加密的key:
./skcp_client -a 127.0.0.1 -p 8080 -k yourpassword