WinSock

Valerii
Дата: 28.11.2012 16:26:09
Народ,
Пытаюсь запустить утилиты которые посылают в порт на сервере приемник - команду используя WinSock AvctiveX control.

Вроде все нормально, но если закрыть приложение-сервер, которая слушает порт, и потом его открыть заново - повторное соединение с сервером на клиентской машинке выдает ошибку: OLE Idispatch exeption code 0 from Winsock: Invalid operation at current state.
Вопрос: Как сделать так чтобы при закрытии и повторном запуске приложения-сервер не перезагружать приложение-клиент. Используется протокол TCP.
Пробовал закрывать соединения, не помогает.
Всем спасибо.
Valerii
Дата: 28.11.2012 19:55:50
Valerii,

Все разобрался, есть нюансы ооочень даже очень...
ArgonS
Дата: 29.11.2012 09:03:12
Valerii,

Вы бы описали нюансы, а то вдруг кому пригодиться...
Valerii
Дата: 29.11.2012 13:12:11
ArgonS,

После метода Connect() нужно дать сек паузу (в разных случаях может и более, в локальной сети 1 хватило) чтобы свойство State стала = 7. (Оно как-то по-хитрому сначала = 4, 7 и только потом после соединения 9.)
Так вот ошибка эта происходит когда state #0 а мы пытемся хзаконнктиться к приложению-сервреру.

Будут вопросы - справшивай.