Что означает «сброс соединения с помощью сверстника»?
В чем смысл ошибки «сброса соединения с помощью одноранговой сети» в TCP-соединении? Является ли это фатальной ошибкой или просто уведомлением или связано с сетевым сбоем?
Это смертельно. Удаленный сервер отправил вам пакет RST, который указывает на немедленное удаление соединения, а не обычное рукопожатие. Это обходит нормальный полузакрытый переход состояния. Мне нравится это описание :
«Сброс соединения с помощью однорангового узла» – это эквивалент TCP / IP, который захлопывает телефон обратно на крючок. Это более вежливо, чем просто не отвечать, оставляя одну висящую. Но это не FIN-ACK, ожидаемый от действительно вежливого TCP / IP-взаимодействия.
Это означает, что был получен TCP RST и соединение теперь закрыто. Это происходит, когда пакет отправляется с вашего конца соединения, но другой конец не распознает соединение; он отправит обратно пакет с установленным битом RST, чтобы принудительно закрыть соединение.
Это может произойти, если другая сторона выйдет из строя, а затем вернется или если она вызывает close()
в сокете, пока есть данные от вас в пути, и является указанием на то, что некоторые из ранее отправленных вами данных могут не иметь были получены.
Это зависит от вас, является ли это ошибкой; если информация, которую вы отправляли, была только в интересах удаленного клиента, тогда может быть неважно, что любые окончательные данные могут быть потеряны. Однако вы должны закрыть сокет и освободить любые другие ресурсы, связанные с соединением.