日期:2014-05-20  浏览次数:20635 次

NAT打洞的实现问题
我做了一个通讯软件(有点儿像QQ),结果发现在内网中无法工作。因为存在NAT,导致ServerSocket接不到连接,DatagramSocket接不到数据包。在网上查了关于UDP和TCP打洞的资料,却发现需要一个中转服务器。我只有一个在Sourceforge上注册的支持PHP的WEB站点和一个小型的Mysql数据库,怎么解决这个内网问题啊?苦恼ing...
实在不行就放弃了吧。。。。。。

------解决方案--------------------
QQ、MSN等聊天软件,都是通过中央服务器进行中转的,其本身不具备服务器功能,所以,大多数情况下并不需要考虑NAT等防火墙的拦截。
lz的软件本身具有服务器功能,解决方法,要么模仿MSN的通信模式,要么,模仿P2P,在安装的时候提醒用户打开防火墙以及更改相应的设定。
------解决方案--------------------
两台电脑在一个局域网内还打个什么洞啊,这都连接不上的话你就要怀疑你程序的问题了
肯定是要借助外网中转服务器的 
但你目前拥有的条件不足够