skcp
1.0.0
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
現在、テスト サーバー コマンドはポイントツーポイント サービスである 1 つのクライアントのみにサービスを提供できます。複数のクライアントが必要な場合は、「netcat」などの複数の skcp_server プロセスを開始する必要があります。 「-h」パラメータを使用してヘルプを表示します。 デフォルトでは、アドレス 127.0.0.1 のポート 6060 をリッスンします。 リッスンするネットワーク インターフェイスとポート、およびパラメータを使用して暗号化キーを指定できます。
./skcp_server -a 0.0.0.0 -p 8080 -k yourpassword
テスト クライアントを実行します。
cd build
./skcp_client
「-h」パラメータを使用してヘルプを表示します。 デフォルトでは、アドレス 127.0.0.1 のポート 6060 が接続されます。 接続するネットワーク インターフェイスとポート、および暗号化キーをパラメータで指定できます。
./skcp_client -a 127.0.0.1 -p 8080 -k yourpassword