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