p2p之Tcp穿透路由Nat
来源:互联网 发布:仅限淘宝商城卖家出售 编辑:程序博客网 时间:2024/05/18 10:22
终于解决了关于基于Tcp的p2p的内网穿透问题
其实本该在去年就解决这个问题的,代码写出来了,只是一直没时间去验证。
这几天重写了一下。
中国的网络基本是全是内网,通过路由的nat转换;udp的p2p实现起来非常简单。
只是udp太不稳定了,如果网络快的情况下丢包太严重。
所以一直想是否能通过tcp来代替udp,还好在国外的一个论坛上看到了相关的解决方案
http://www.brynosaurus.com/pub/net/p2pnat/
相对于udp来说,复杂一点,只多了2步而已,网站上给出了全部步骤,但真正的建立并不需要完全按网站的,
我的方法是
1建立2个服务器,(for Base Tcp,for Hole Tcp)
2.打开Client,4个Socket,(1 for Base Tcp Socket 2 for Hole Socket 3,for Listen 4 for Connect To Listen)
3,建立base连接,
4发起hole连接,client—server,
5.server通知client打洞Hole,server通知client IP and Port
6.client Listen 本地的hole端口
7 client请求connect TO client ;
8.如果失败client通知对方连接自己
Server:
Client 1
Client2
- p2p之Tcp穿透路由Nat
- P2P 之 TCP穿透NAT的原理
- P2P 之 TCP穿透NAT的原理
- P2P 之 TCP穿透NAT的原理
- P2P 之 TCP穿透NAT的原理
- P2P之TCP穿透NAT的原理
- P2P之UDP穿透NAT
- P2P之NAT穿透问题
- P2P之NAT穿透问题
- P2P,UDP和TCP穿透NAT
- P2P:UDP和TCP穿透NAT
- P2P,UDP和TCP穿透NAT
- P2P,UDP和TCP穿透NAT
- P2P,UDP和TCP穿透NAT
- P2P,UDP和TCP穿透NAT
- P2P,UDP和TCP穿透NAT
- P2P,UDP和TCP穿透NAT
- P2P,UDP和TCP穿透NAT
- 自己动手,实现在kernel函数中printf()!(转)
- 非正常卸载了sql 2005 无法重装的问题
- CMap详解
- onbeforeunload与onunload事件
- CArray,CList,CMap如何实化(实例化,instantiation)
- p2p之Tcp穿透路由Nat
- asp.net如何在用户关闭浏览器时执行Session_End方法
- 哈希(Hash)表
- Oracle绝对值函数
- unicode,ansi,utf-8,unicode big endian这些编码有什么区别
- JQuery Form插件介绍
- 图形世界分裂的两派——理清Direct3D和OpenGL的脉络
- poj 2418 二叉搜索树
- 在vb组件内调用excel实现gif饼图