我在一个公网的电脑上,放一个SERVER,接收来自内网的IP和端口
server,数据如下:114.97.193.93:26494 (第一台)
114.97.193.93:26976(第二台)
我现在在Client(1),和client(2)上,也放置了一个UDPSERVER,控件,和UDPCLIENT控件
我在Client(1)上,向内网的另一个Client(2),用上面服务器接收到的外网端口发送数据,为什么收不到?Client(1)向:114.97.193.93:26976 (Clinet2收不到)
Client(2)向:114.97.193.93:26494 (Clinet1收不到)

解决方案 »

  1.   

    看资料是,NAT对不请自来的数据是丢弃的,需要服务器向对方打洞才可以,请问怎么做啊?
      

  2.   

    Client(1)向:114.97.193.93:26976 (Clinet2收不到)
    Client(2)向:114.97.193.93:26494 (Clinet1收不到)你这种发送肯定是要通过服务端转送的。
    因为26976,26494不是对方UDPSERVER开启的端口,而是UDPClient连接服务端的端口。假设你的26976,26494是你的客户机所开启的UDPSERVER的端口,你的服务器要做端口映射才可以接收。
      

  3.   

    跟踪测试一下,再用
    Showmessage();
    看看每一步参数对不对