# ToBreakTcpNat **Repository Path**: macw1995/ToBreakTcpNat ## Basic Information - **Project Name**: ToBreakTcpNat - **Description**: Java Socket编程,TCP打洞。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-07-02 - **Last Updated**: 2021-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ToBreakTcpNat #### 介绍 Java Socket编程,TCP打洞。 #### 打洞流程 核心:因为:tcp socket 可以直接互相连接,不需要一方使用serverSocket 1. A从中央获取有那些用户,并且获取常驻通讯 2. A新建一个Socket与Center建立连接,并告诉中央要连接B,通过B的UUID 3. 中央记录A外网IP与端口,并为这个socket新newUUID,通知B:uuid,ip,port,需要与你建立连接。 4. B新建一个Socket与Center建立连接,告诉中央:这个连接,是为UUID的A连接做准备的。 5. 中央记录B的ip,port。通知A:“B联系上了,它的ip\port,请做好准备”。通知B:“A已通知,请连接它”(通知完后,Center也要关闭与他们的连接) 6. A开启线程直接连接B 7. B开启线程直接连接B 8. 成功! #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)