Re: Как закрыть сокет?
От: Smart Россия  
Дата: 05.10.02 20:22
Оценка:
Здравствуйте Corvin, Вы писали:

C>Такой проблем: есть клиент и сервер...<CRLF>

.<CRLF>


1: recv() для SOCK_STREAM в случае закрытия сокета возвращает 0 или SOCKET_ERROR.
2: не забудьте в select() (если вы вообще используете эту функцию) указать группу сокетов для чтения (у сомого такая фигня была, часа 2 копался, а всё было так просто.
3: не используйте примочки Windows Sockets. Лучше уж старые Berkeley-совместимые (хоть и не полностью), но проверенные функции.
4: если вы храните дескриптор сокета в какой-нибудь динамической структуре данных, то проследите за тем, чтобы на стадии закрытия дескриптор всё-таки существовал (не удаляйте объект раньше времени).
5: у меня какой-то баг с STLport при посылке тескта сообщения (берётся из файла и на экран выводится вроде правильно, со всеми служебными символами, а Outlook Express продолжает ждать после приёма <CRLF>.<CRLF> ), а под Dinkumware STL (VC60SP5) всё нормально.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.