# kcp-signal **Repository Path**: evan-qiu/kcp-signal ## Basic Information - **Project Name**: kcp-signal - **Description**: 基于kcp(可靠udp)实现的p2p信令系统(包含客户端与服务端)。 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 7 - **Created**: 2021-05-22 - **Last Updated**: 2024-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # kcp-signal #### 介绍 基于kcp(可靠udp)实现的p2p信令系统(包含客户端与服务端)。 #### 软件架构 包含基于kcp实现的客户端与服务端,分别位于client与server目录下。用到的部分第三方代码位于3Party目录下。 #### 安装教程 1. 客户端 依赖的第三方库有libnice和json-c,需自行编译安装(centos/ubuntu)。 2. 服务端 依赖的第三方库有jsoncpp和glog,glog有定制修改,修改后的代码位于3Party目录(centos/ubuntu)。 #### 使用说明 1. 客户端 启动命令如下: ./client 182.133.35.216 7799 0 或 ./client 182.133.35.216 7799 1, 参数说明: 182.133.35.216(信令服务器地址) 7799(信令服务器监听端口) 最后一个参数为工作模式,0代表等待连接,1代表主动连接。 客户端需设置环境变量指定stun server的IP(或域名)及端口,环境变量名称为TURN_SERVER和TURN_PORT,设置方法如下: export TURN_SERVER=stunserver.org export TURN_PORT=3478 如不指定,则采用代码默认值(不同客户端需指定同一地址)。 2. 服务端 启动命令如下: ./server 默认监听端口为7799,也可手动指定,如: ./server 8888 3. 工作流程说明 正常流程为服务端先启动,第一个客户端启动向信令服务器注册并等待连接(./client 182.133.35.216 7799 0),第二个客户端启动(./client 182.133.35.216 7799 1),向信令服务器查询可连接设备列表,并选择列表中的第一个设备发起连接请求,交换ICE信息,双方建立连接后,可在控制台向对方发送消息。 #### 系统特点 基于KCP实现,支持信令传输低延迟及丢包重传,传输协议参数可定制。 #### 联系方式 微信:38363007