gpt4 book ai didi

sockets - 通过 UDP 接收响应

转载 作者:行者123 更新时间:2023-12-03 21:10:24 24 4
gpt4 key购买 nike

我已经看到应用程序通过 UDP 将数据包发送到某个端口上的 IP 并接收响应。响应到哪个端口? (顺便说一句,如果没有端口转发到我的 PC,路由器如何知道响应是针对我的 PC 的?)

问候, Neo_b

最佳答案

分配响应的端口取决于应用程序。 UDP 是完全无状态的,因此在发送数据包后,应用程序可以期待响应的唯一方法是它是否知道另一端将发送一个数据包。根据 UDP 应用程序,为了简单起见,我希望响应会出现在同一个端口上——对于像 TCP 这样的协议(protocol)来说,情况并非如此,它有一个故意随机(和高)的源端口。

要回答您的第二个问题,许多路由器,甚至是便宜的家用路由器,都会这样做stateful packet inspection (SPI)。可能会发生这样的事情,但如果我离开,我会得到纠正:

[用客户端、路由器、互联网、服务器搭建舞台。]

  • 客户端发出 UDP 数据包。
  • 路由器将 UDP 数据包传递到 Internet。
  • 路由器记住客户端向服务器发送了一个 UDP 数据包,并在其内存中建立映射。
  • 服务器发送一个 UDP 数据包,可能在同一个端口上。
  • 路由器接收数据包,并检查映射以查找最近与服务器通话的客户端。
  • 路由器将数据包传递给客户端。

  • 我想这是如何实现的特定于路由器,但这是我对它如何工作的理解。

    关于sockets - 通过 UDP 接收响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1815030/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com