Я работаю над клиент-серверным приложением, которое обменивается данными по протоколу TCP/IP, где я время от времени получаю сообщение об ошибке connection reset by peer
.
Под « сбросом соединения » я имею в виду, что соединение было сброшено? Или это означает, что клиентская система отключена от сервера и связь между ними невозможна?
Это означает, что другая сторона * соединения прервала его.
Если сервер получил эту ошибку, это означает, что клиент разорвал соединение. Если его получил клиент, значит, его завершил сервер.
*Я говорю «другая сторона соединения», но важно помнить, что это только с точки зрения той стороны, которая получила ошибку. Возможно, брандмауэр, маршрутизатор или другой компьютер между двумя конечными точками фактически прервал соединение. И иногда возможно, что обе конечные точки могут получить одну и ту же ошибку.
Это означает, что сервер отправил вам флаг
RST
(Reset) для завершения соединения, то есть сервер прерывает соединение, потому что оно было отклонено, возможно, потому, что соединение частично сформировано.Он похож на
FIN
флаг (Готово), но отправляется как завершение при успешном соединении.