gpt4 book ai didi

c++ - 在 UDP 套接字上多次调用 connect() 以发送到不同的目标地址 - 有效吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:28:40 25 4
gpt4 key购买 nike

我正在研究 UDP 通信协议(protocol)的实现。

我有一个关于 UDP 的 connect() 调用的问题。

我想使用 connect() 和 send() 而不是 sendto()。通常接收端不会改变。但是,在某些情况下,它可能会。在已经连接的 UDP 套接字上调用 connect() 以设置不同的目标而不关闭和重新打开套接字(以及通过丢失缓冲接收的数据报)是否有效?

我没有找到任何有效或无效的文档(因此,测试可能只会告诉我它是否碰巧有效,这可能无法移植)。我目前在 Windows 7 上使用 winsock2,但希望可以移植到其他(更新的)Windows 版本和 linux。

最佳答案

至少对于 Linux,联机帮助页 (man 2 connect) 说可以:' 通常,基于连接的协议(protocol)套接字可能只成功连接一次();无连接协议(protocol)套接字可以多次使用 connect() 来更改它们的关联。无连接套接字可能会解除关联 通过连接到一个地址,将 sockaddr 的 sa_family 成员设置为 AF_UNSPEC(自内核 2.2 起支持 Linux)。'

关于c++ - 在 UDP 套接字上多次调用 connect() 以发送到不同的目标地址 - 有效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40888472/

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