本地网的机:192.168.100.1,端口:1000,连接到外网服务器S的1234端口,服务器收到的来源地址是:210.21.100.100:5678。但是使用同一端口1000马上连接到服务器S的另一端口6666时,服务器S收到的来源是:210.21.100.100:8888也就是说,从本机同一端口发到外网服务器S不同端口,服务器S收到的来源端口不一样。这样的话就P2P无法打洞了。
但QQ和电驴等p2p类的软件能正常运行。客户端可以经过Nat与外网的服务器进行通信。唉,实在不行的话2个客户端就得通过服务器中转了

解决方案 »

  1.   

    一个连接必须打一个洞,这个没错。
    问题是服务器S得到客户A的外网IP和端口后,客户A访问其他外网地址,经过Nat时,转换出来的端口号与访问服务器时转换出来的端口号不一致。这洞还怎么打?
      

  2.   

    不懂  QQ的穿防火墙是NAT穿透?哪个透露下
      

  3.   

    打洞不是所有的防火墙都可以实现的,只有支持uPnP的防火墙才有可能成功,QQ也是在打洞不成功后自动通过服务器中转的。