[英]When send()/recv() fails. Where does the socket stands?
假设我有一个由socket()
系统调用创建的socket()
。 之后,我做了一个connect()
并开始发送和接收数据。
类似地,另一方面,使用socket()
系统调用创建了一个socket()
,然后调用了bind()
, listen()
和accept()
。 然后这边也开始交流。
现在,假设send()
(以及另一端的recv()
)失败了。
发生故障后,我想将那个插座停在哪里?
为了再次进行通信,我应该再次创建套接字并执行connect()
(另一方面是bind()
, listen()
和accept()
)还是可以再次尝试send()
和recv()
? 另外,在这种情况下最好的事情是什么?
注意:我们不知道send()
/ recv()
失败的原因是什么。 从物理断线到另一侧拒绝(可能使用iptables),都可以是任何东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.