Я новичок в языке 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()
).
Если я не улавливаю эти ошибки, мой сервер перестает работать, если клиент закрывает соединение.
Как я могу перехватить эти ошибки и вернуться к принятию, чтобы установить соединение с другим клиентом?