skcp
1.0.0
SKCP는 KCP를 캡슐화한 라이브러리로, 연결 관리 및 암호화 기능을 가지고 있습니다.
"사용할 수 없는 것은 아니다", SKCPTUN에 적용
운영 환경: 리눅스, 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
현재 테스트 서버 명령은 지점 간 서비스인 하나의 클라이언트에만 서비스를 제공할 수 있습니다. 둘 이상이 필요한 경우 "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