【发布时间】:2012-11-28 14:45:05
【问题描述】:
当发送方按照指定的here 正常关闭套接字连接时,我尝试通过网络获取值 0。当我使用无阻塞呼叫时,在数据从发送方发送到接收方之前,我在 UDP 流中得到了 -1。发送原始数据后,当我关闭连接(尝试关闭套接字并关闭发送方的套接字)时,我仍然得到 -1 而不是 0 表示套接字已关闭。任何人都可以请帮助是否有任何方法可以得到相同的。
谢谢。
【问题讨论】:
-
UDP 套接字没有
connection的概念 -
@aleguna 是的,这很好,但是文档中提到的从 recvfrom() 获取返回值 0 的机制是什么。
-
没有这样的机制。而且您不能关闭 UDP 套接字。这是一个仅限 TCP 的操作。您是否忽略了来自 shutdown() 的 -1/errno 结果?
-
如果你想要一个返回值 0 发送一个 0 字节长度的消息。
-
但是这只是表示消息长度为零,而不是对等断开。
标签: c++ networking udp