Здравствуйте Corvin, Вы писали:
C>Такой проблем: есть клиент и сервер. На клиенте открывается окошко куда ждут ввод, но если связь с сервером обрывается это окошко надо закрыть. Для проверки наличия связи на клиенте вызываю recv.
Проверить сокет на возможность записи в него данных можно с помощью функции
select (см. аргумент writefds)
C>И если получается ошибка, окошко закрываем. Все работает если на сервере программу закрыли, но возникла необходимость это окошко закрыть с сервера из программы. А тут не получается... Делал shutdown, closesocket, — все равно, — клиент не понимает, что связь оборвалась. Неужто винда еще что-то с сокетом делает когда прога закрывается?
Ничего не понял, кто, "из кого" и кого закрывает

По-яснее выражайся.
Но это вообщем-то не важно. Проблема видимо в твоей проверке recv-ом и в том, что у recv-а есть таймаут на получение данных. Видимо, пока этот таймаут не проходит — клиент висит. Так что select.