|
|
|
Forum Member
      
участник
Last Login: 24.10.2006 18:16
Сообщ.: 27,
Visits: 279
|
|
| Привет всем! Вот фрагмент кода: private Socket FSocket;protected override void OnProcess(object message){ try { FSocket.Send(( byte[])message); } catch(Exception ex) { Connected = false; } } Так вот, столкнулся с проблемой, что не смотря на то, что соединение закрыто принимающей стороной, метод Send(byte[]) не вызывает Exception, а спокойненько выполняется. Exception может произойте несколько позже, скажем на 4-5 сообщении после разрыва связи, а может и вообще не произойти! Как я понимаю, все равно происходит какая-то буферизация, но не до бесконечности же? Кстати, проверка флага Connected у объекта Socket ничего не дает, флаг показывает true и все тут :( Может быть я что-то неправильно сделал? Кто подскажет, как разрулить эту ситуацию? ЗЫ В Блоке catch() Connected - это свойтсво класса, которому принадлежит метод OnProcess и к Socket.Connected никакого отношения не имеет.
|
|
|
|
|
Forum Member
      
участник
Last Login: 24.10.2006 18:16
Сообщ.: 27,
Visits: 279
|
|
| Все, дошло, почему так происходило. Сокет был в режиме NonBlocking. Эх, блин, а ларчик просто открывался, впрочем, как всегда. Сорри всем за беспокойство :)
|
|
|
|