Исключение сокета Tcp / IP - PullRequest
0 голосов
/ 05 марта 2012

У меня есть приложение «Север-клиент», которое использовалось для отправки и получения смс, которое до последнего месяца работало нормально. Но после этого я получил исключение сокета TCP / Ip. Я отлаживаю серверное приложение и обнаружил исключение:

System.IO.IOException: невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом. ---> System.Net.Sockets.SocketException: существующее соединение было принудительно закрыто удаленным хостом в System.Net.Sockets.Socket.EndReceive (IAsyncResult asyncResult) в System.Net.Sockets.NetworkStream.EndRead (IAsyncResult asyncResult)

Я получаю такое же исключение на клиенте, когда отлаживаю больше. Я прошел через множество тем, похожих на это. Люди предполагают, что это проблема сети, связанная с портом блокировки межсетевого экрана / NAT / антивируса, из-за этой связи между клиентом и сервером возникают проблемы. Я использовал порт 2999, и несколько клиентов связывались с сервером через один и тот же порт. Есть какие-нибудь подсказки? какова точная причина?

1 Ответ

1 голос
/ 05 марта 2012

Это происходит все время сейчас или просто иногда? если это просто случается время от времени, то я бы сделал это, поместив его в состояние try catch, и, когда эта ошибка возникнет, переподключите и попробуйте снова и запишите, что это произошло и когда, а также все, что происходило, когда оно было выброшено таким образом. Вы можете вернуться и выяснить, в чем проблема, когда вы получите больше информации о том, когда его бросают. если это происходит постоянно, то что-то заставляет ваше соединение закрыться, ведь это может быть брандмауэр, поэтому для тестирования я бы отключил все ваши брандмауэры и антивирусы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...