Как узнать что соединение пропало?
От: nFalcon  
Дата: 23.10.08 10:17
Оценка:
Работаю из софта с сервером по TCP синхронно.
В качестве сервера оборудование, которое может ответить на запрос, а может и не ответить, а может просто выключиться.
создаю соединение:

TcpClient client = new TcpClient(serverIP, port);

запрашиваю данные с сервера, жду ответ — какой-нибудь ввод данных на сервере.
В этот момент оборудование выключается по питанию.
Как узнать что соединение прервано?
По таймауту соединение не отваливается и я упорно жду ввода данных с оборудования, которого фактически уже нет.
Re: Как узнать что соединение пропало?
От: TK Лес кывт.рф
Дата: 23.10.08 11:37
Оценка:
Здравствуйте, nFalcon, Вы писали:

F>
F>TcpClient client = new TcpClient(serverIP, port);
F>

F>запрашиваю данные с сервера, жду ответ — какой-нибудь ввод данных на сервере.
F>В этот момент оборудование выключается по питанию.

а какое оборудование? сам сервер или какой раутер где на пути между сервером и клиентом?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Как узнать что соединение пропало?
От: HowardLovekraft  
Дата: 23.10.08 12:07
Оценка:
F>По таймауту соединение не отваливается и я упорно жду ввода данных с оборудования, которого фактически уже нет.
Таймауты у NetworkStream менялись?

The default value, Infinite, specifies that the read operation does not time out.

Re[2]: Как узнать что соединение пропало?
От: nFalcon  
Дата: 23.10.08 12:46
Оценка:
Здравствуйте, HowardLovekraft, Вы писали:

F>>По таймауту соединение не отваливается и я упорно жду ввода данных с оборудования, которого фактически уже нет.

HL>Таймауты у NetworkStream менялись?
HL>

HL> The default value, Infinite, specifies that the read operation does not time out.

Таймаут у стрима не менял(менял у TCP клиента)
Спасибо, сейчас попробую.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.