#c# #.net #networking
#c# #.net #сеть
Вопрос:
У меня есть два приложения — сервер и клиент. Я могу отправлять сообщения между ними, пока они оба запущены.
Когда я закрываю сервер и пытаюсь отправить сообщение с помощью NetworkStream.При записи я получаю исключение.
Какой был бы наилучший способ справиться с этим и уведомить клиента о том, что сервер не работает?
Комментарии:
1. Какой клиент? Если она человек, то используйте, скажем, MessageBox, чтобы сообщить ей о грубости сервера.
Ответ №1:
Ping — плохая идея. Соединение также может прерваться между ping и фактическим сообщением.
Как вы сами указали:
завершите запись в try / catch и отобразите пользователю приятное маленькое сообщение.
Ответ №2:
Вы могли бы выполнить пинг сервера перед отправкой сообщения, если пинг завершится неудачей, затем сообщите пользователю и не отправляйте сообщение и т.д.
Комментарии:
1. Бессмысленно. Просто отправьте сообщение, и если оно завершится неудачей, сообщите об этом пользователю.
2. И для проверки сбоя вводим NetworkStream. Напишите внутри, попробуйте уловить достаточно? Похоже, я могу проверить, получаю ли я исключение IOException.