【发布时间】:2017-04-28 01:09:21
【问题描述】:
我知道recvfrom 可以通过指针参数返回源地址,这样我就可以检查接收到的数据包是否来自我感兴趣的地址。除了仅在数据包已经收到了吗?
【问题讨论】:
我知道recvfrom 可以通过指针参数返回源地址,这样我就可以检查接收到的数据包是否来自我感兴趣的地址。除了仅在数据包已经收到了吗?
【问题讨论】:
是的。只需将您的套接字连接到所需的源地址。来自任何其他地址的数据报都将被丢弃。
【讨论】:
这取决于语言。例如,Java 的 DatagramSocket 有一个connect method,它丢弃所有不属于指定地址的数据包。它确实会检查源地址是否来自您所说的指定地址。这就是 UDP 堆栈的工作原理。
【讨论】:
connect() 方法,它以我知道的所有语言公开。