基于P2P技术实现内网到内网UDP穿透--转载
P2P: 只要是数据量很大,而一般利用中转服务器又需要一定规模投入的应用,我们都可以考虑用 P2P 技术。 好处: 1. 降低成本与投入。 2. 提高传输性能。 一般情况下,我们做网络程序,首先都会考虑用 TCP 的方式来实现,用 TCP 的方式主要的好处有: 1. 编写程序简单,大部分是采用 C-S 模型,也就是客户端对服务器。 2.TCP 的特性保证了数据传输的可靠性,只要适当定制好协议,基本不会有网络丢包与边界的问题。 但同时, TCP 也有缺点,就是通信效率较低。 做好 P2P 应用至少需要解决两个问题: 1. 实现内网之间机器的网络通信。 2. 需要 解决 UDP 出现的数据传输不稳定 问题。 内网穿透 假设一台在 NAT211.133.* 后的 192.168.1.77:8000 要向 NAT211.134.* 后的 192.168.1.88:9000 发送数据,假设你向 211.134.* 这个 IP 地址的 9000 端口直接发送数据包,则数据包在到达 NAT211.134.* 之后,会被当做无效非法的数据包被丢弃, NAT 在此时相当于一个防火墙 , 会对没有建立起有效 SESSION 的数据包进行拒绝转递。 当然,你也不能直接用内网地址 192.168.1.88 进行发送数据包,这就好比你在广州要打电话到上海的某个地方,如果你不加区号