sockets - SFML 套接字,返回 "Disconnected"的 UDP 套接字是什么意思?

标签 sockets networking udp sfml

我正在使用 SFML 编写网络程序,据我了解,UDP 套接字完全无连接
当我尝试从我的套接字读取时,我得到一个“断开连接”错误代码,但文档似乎没有提到 UDP 套接字能够返回这种错误(只有 TCP 能够返回)
断开连接的 UDP 套接字可能意味着什么?

最佳答案

虽然 UDP 作为一种协议(protocol)是“无连接的”,但套接字 API 支持虚拟连接以允许面向连接的功能继续工作。当您调用 connect在 UDP 套接字上,操作系统会像往常一样记住您设置的连接数据,并过滤与虚拟连接不一致的内容,这允许您使用像 recv 这样的接口(interface), sendgetpeername因为对等体是隐含的。如果不使用connect,则需要使用sendmsg等接口(interface). sendto , recvmsgrecvfrom对等点基于每个数据包进行通信。
在 SFML 的情况下,它不一定使用需要连接的东西,但它会将其他错误(例如超时)重新映射到 Disconnected。 .

关于sockets - SFML 套接字,返回 "Disconnected"的 UDP 套接字是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65508943/

相关文章:

c# - Windows 下 C++ 和 C# 中的套接字无法正常工作

networking - TCP - 接收顺序错误

sockets - UDP 数据包丢失(LAN-Netcat),切换服务器-客户端数据包正常

c - send()和recv()是否实现可靠的数据传输(TCP协议(protocol))?

sockets - 套接字如何知道要使用哪个网络接口(interface) Controller ?

jquery - Windows 应用程序是否可以与网页交互?

c - 分布式网络多客户端

c - udp套接字到底接收什么?

sockets - Python 3.x socket.error : [Errno 10013] An attempt was made to access a socket in a way forbidden by its access permissions

c++ - 使用 C++ 服务器制作 Websocket