sockets - 硬件断开后 TCP 恢复连接

标签 sockets tcp broken-pipe connection-reset

我有一个连续写入 TCP 套接字的程序。我想确保如果客户端和服务器之间的连接断开任何时间,都可以重新建立连接。

现在,我可以断开连接,当 write() 函数循环时,它返回一个“连接被对等重置”错误,然后是 ULLONG_MAX 的值。然后,一旦我重新插入电线,write() 就会不断返回“破管”错误。我试图关闭并重新打开连接,但我继续收到“连接被对等重置”错误。

有谁知道我如何才能重新建立连接或在一开始就将其保持一定时间(或无限期)?

最佳答案

你不能在这里重复使用文件描述符,你必须从头开始 - 创建新的 socket(2)并调用connect(2)在上面。

关于sockets - 硬件断开后 TCP 恢复连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451021/

相关文章:

sockets - 在 linux 中测试一个 socket 是否打开

linux - 仅在非交互式运行 bash 脚本时出现错误 "cat: write error: Broken pipe"

multithreading - 多个线程在单个套接字或管道上执行 poll() 或 select()

php - 我怎样才能得到客户端的IP地址?

postgresql - Rubymine PostgreSQL 数据库

python - 从部分 google protobuf 消息中检索信息

c++ - 从 ftp 服务器下载后文件损坏

java - NodeJS TCP 服务器,onData 小块

networking - Broken Pipe 和 Connection reset by peer 有什么区别?

mysql - Grails App 上的破管异常