我知道recvfrom
可以通过指针参数返回源地址,这样我就可以检查收到的数据包是否来自我感兴趣的地址。除了检查源之外还有什么办法吗?只有在收到数据包后才发送地址?
答案 0 :(得分:1)
是。只需将套接字连接到所需的源地址即可。来自任何其他地址的数据报将被丢弃。
答案 1 :(得分:-1)
这取决于语言。例如,Java的DatagramSocket有一个connect method,它会丢弃所有不属于指定地址的数据包。所有它确实检查源地址是否来自您指定的那个。它只是UDP堆栈的工作方式。