SKCP é uma biblioteca de encapsulamento de KCP, tem a função de gerenciamento de conexão e criptografia.
“Não é que não possa ser usado”, aplicado no SKCPTUN
Ambiente operacional: Linux, MacOS
Bibliotecas dependentes: OpenSSL, libev
O código do cliente precisa implementar o seguinte em 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);
O código do servidor precisa implementar o seguinte em 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);
Compile o código de teste:
cd skcp
mkdir build
make
Execute o servidor de teste:
cd build
./skcp_server
Atualmente, o comando test server pode atender apenas um cliente, que é um serviço ponto a ponto. Se mais de um for necessário, vários processos skcp_server precisarão ser iniciados, como "netcat". Obtenha ajuda através do parâmetro "-h". Por padrão, ele escuta a porta 6060 no endereço 127.0.0.1. Você pode especificar a interface e a porta da rede de escuta, bem como a chave de criptografia por meio de parâmetros:
./skcp_server -a 0.0.0.0 -p 8080 -k yourpassword
Execute o cliente de teste:
cd build
./skcp_client
Obtenha ajuda através do parâmetro "-h". Por padrão, a porta 6060 do endereço 127.0.0.1 está conectada. Você pode especificar a interface de rede e a porta a ser conectada e a chave de criptografia através dos parâmetros:
./skcp_client -a 127.0.0.1 -p 8080 -k yourpassword