dog-tunnel
dog-tunnel copied to clipboard
p2p模式底层采用KCP协议的疑问
我有一个服务用的是UDP,已经有一套自己的UDP通讯协议。 我现在只需要用到狗洞打通的P2P通道,让客户端直接访问远端打开的UDP端口即可。
如果用KCP,数据多转换了一次,是不是反而增加了延迟?
p2p版本我没记错的话应该是还不支持udp端口转发,如果你有自己的协议的话,建议再加个打洞功能就好了,实现不算太复杂。如果中间用lite版本转发的话,那么你的两端分别和各自本地的狗洞之间走的是你自己的协议(本地通讯,没有网络延迟,只有程序运行的逻辑延迟),两个狗洞之间是kcp协议,延迟的话不好说,要看你自己实现的协议效率如何了
我是准备在iOS上重写移植这部分打洞功能,udp通讯协议是minecraft PE的局域网联机协议, 我正在研读你的代码,但抱歉吐槽一下,源码里极少注释,暂时还没看明白。
是不是从这个起点开始看?
func (session *UDPMakeSession) beginMakeHole(content string)