如果客户端Udp端口打到一个端口上的服务器,我可以假设它将从同一端口发送,如果它发送到服务器上的另一个端口?

时间:2014-07-08 22:23:03

标签: c# multithreading sockets networking udp

很难解释所以这里是一步一步:

  1. 客户端通过Udp向服务器发送数据。客户端端口X到服务器端口3000。
  2. 服务器使用此通信设置UdpClient以在端口3001上侦听客户端端口X上的此特定客户端。
  3. 客户端然后根据需要在本地端口X上将数据发送到服务器端口3001。
  4. 每个人都很开心。
  5. 我的问题是:我可以假设,如果客户端正在与NAT后面的服务器进行通信并且punches a udp port,那么如果它与同一服务器上的另一个端口通信它将使用相同的端口吗? / p>

    [编辑:格式化]

1 个答案:

答案 0 :(得分:0)

不,你不能这么认为。它可能发生或者可能不会发生,它取决于客户端正在打击的NAT防火墙软件的编写者。

复杂的软件可能会检测到您正在与同一服务器通信但是使用不同的端口并重新使用出站端口,但更简单的软件(您经常在家用路由器上看到的那种)可能是“笨拙”而只是使用新的每个连接的随机端口。