mirror of
https://github.com/skywind3000/kcp.git
synced 2025-03-23 16:00:08 +08:00
Updated Cooperate With Tcp Server (markdown)
parent
a58ddb8171
commit
c7b5bec886
@ -1,7 +1,8 @@
|
||||
在使用 KCP时,你可以用在你 TCP的基础上,再登陆时服务端返回 UDP端口和密钥,客户端通过 TCP收到以后,向服务端的 UDP端口每隔一秒重复发送包含握手信息,直到服务端返回成功或者失败。服务端通过 UDP传上来的密钥得知该客户端 sockaddr对应的 TCP连接,这样就建立 TCP连接到 UDP连接的映射关系。为了保持连接和 NAT出口映射,客户端一般需要每 60秒就发送一个 UDP心跳,服务端收到后回复客户端,再在这个 UDP连接的基础上增加调用 KCP的逻辑,实现快速可靠传输,这样一套 TCP/UDP两用的传输系统就建立了。
|
||||
|
||||
可以参考下述例子:
|
||||
1. 客户端链接tcp
|
||||
|
||||
1. 客户端链接tcp,完成协议握手
|
||||
2. 登录后服务端给客户端发送udp握手信息,包括:自己的udp端口,用户的tcp标识id,32位随机数key
|
||||
3. 客户端给服务端udp地址发送握手信息,把刚才服务端发过来的(id, key) 发送给服务端。
|
||||
4. 服务端确认udp握手,并且记录该用户udp远端地址
|
||||
|
Loading…
Reference in New Issue
Block a user