1

我知道recvfrom可以通过指针参数返回源地址,这样我就可以检查接收到的数据包是否来自我感兴趣的地址。除了在已经接收到数据包后检查源地址之外,还有其他方法吗?

4

2 回答 2

1

是的。只需将您的套接字连接到所需的源地址。来自任何其他地址的数据报将被丢弃。

于 2017-04-28T02:47:18.830 回答
-1

这取决于语言。例如,Java 的 DatagramSocket 有一个connect 方法,它丢弃所有不属于指定地址的数据包。它确实会检查源地址是否来自您所说的指定地址。这就是 UDP 堆栈的工作原理。

于 2017-04-28T02:00:04.133 回答