1 Star 0 Fork 2

Roc / udp_hole_punching

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

UDP打洞

介绍

Server

  • 通讯协议简单
  • 可作为通用的UDP打洞服务器
  • 仅支持点对点打洞

Client

  • 仅作为UDP打洞的参考代码

流程

  1. 客户端A和客户端B事先约定标识符Y,服务器S通过标识符确定哪两个客户端之间进行打洞;
  2. A向S发送Y,并记录A本地使用的UDP端口P1,S上用标识符Y作为key,A的公网IP和端口作为value存入map,暂不应答A;
  3. B向S发送Y,并记录B本地使用的UDP端口P2,S通过标识符Y在map中找到之前记录的A的公网IP和端口,然后发送给B,同时把B的公网端口和IP发送给A;
  4. A收到S发来的B的外网IP和端口,A关闭与S的连接,A绑定P1对B发送数据;
  5. B收到S发来的A的外网IP和端口,B关闭与S的连接,B绑定P2对A发送数据。

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/gitee211012/udp_hole_punching.git
git@gitee.com:gitee211012/udp_hole_punching.git
gitee211012
udp_hole_punching
udp_hole_punching
master

搜索帮助