【发布时间】:2019-05-05 15:13:59
【问题描述】:
我是 C 语言的新手,正在写一个 TCP 服务器
// create a socket, bind and listen
while(1) {
accept:
int conn_sock = accept(...);
// here some recv and send calls
}
如果发生ECONNRESET 或EINTR,我想防止服务器关闭。如果在发送或接收数据时出现其中一个错误,我想去接受(如果accept() 由于某种原因也失败了,想去accept 标签)。
如果我没有发现这些错误,我的服务器会在客户端关闭连接时停止工作。
如何捕获这些错误并返回接受以与另一个客户端建立连接?
【问题讨论】:
-
我在这里没有看到问题。你的需求很明确,为什么不简单地编写实现它们的代码呢?
-
我认为问题很明确:我怎样才能捕捉到这些错误并返回接受?
标签: c sockets tcp error-handling