假设我有一个我通过socket()
系统调用创建的套接字。之后我做了connect()
并开始发送和接收数据。
同样,另一方面,使用socket()
系统调用创建了套接字,然后调用了bind()
,listen()
和accept()
。然后这方面也开始沟通了。
现在让我们假设其中一个send()
(以及另一方的recv()
)失败。
我希望失败后套接字在哪里?
要再次进行通信,我是否应该再次创建套接字并在另一边connect()
(bind()
,listen()
和accept()
)或者我可以尝试{{1再次和send()
?此外,在这种情况下,最好的做法是什么?
注意:我们不知道recv()
/ send()
失败的原因是什么。它可以是从物理断线到另一侧拒绝的任何东西(可能使用iptables)。