客户端用delphi里的UDP控件,服务端用C#中的UDPclient,客户端是在ASDL路由器共享上网的局域网内(客户端的本地端口不能设置),服务端是独立固定IP,客户端发给服务端的信息可以收到,服务端发给客户端的信息,客户端收不到.请问是什么原因?
是不是客户端必须设置本地端口?但是设置过之后还是收不到.谢谢!!!

解决方案 »

  1.   

    是不是客户端必须设置本地端口
    -----------------------------
    客户端不需要绑定本地端口服务端发给客户端的信息,客户端收不到
    -------------------------------------
    服务端要用--经过nat转换后的--客户端ip和port向客户端发数据,有点绕口:)
      

  2.   

    我打个比方啊:)
    比如说客户端udp向服务器发一个包以后(由于没有绑定端口,所以系统会随机分配一个)会得到一个port假设为1234,你的局域网ip为192.168.1.123,经过nat到达服务器后这个udp包的源地址被转换为公网ip如212.12.25.125,端口被转换为62354,这个时候你的服务器应该用后者来向客户端发数据。