Написал тут.. отлаживаю. Вроде, как кажется, все писал по мануалам, практически переносил предельно упрощенно TCP эхо-сервер из статьи Криса Касперски Самоучитель игры на WINSOCK на ассемблер. В итоге сервер не запускается, потому что bind выдает вылетает с ошибкой WSAEFAULT тут: Код (Text): mov sadr.sin_family,AF_INET invoke htons,port mov sadr.sin_port,ax mov sadr.sin_addr,INADDR_ANY invoke bind,sock,addr sadr,sizeof sadr cmp eax,SOCKET_ERROR ;<---- тут ошибка eax==FFFFFFFFh (->WSAEFAULT) jz cleansock Для желающих посмотреть, выкладываю исходники сервера и обращающегося к нему клиента.
Спасибо, litrovith! Поправил в клиенте и в сервере. bind отрабатывает как надо! А почему, интересно, сервер при запуске не может дождаться клиента и выключается. Мне нужно заключить accept в цикл или это необязательно?
А, вот еще ошибки в трех местах у себя нашел и исправил, вот теперь выполняется все именно так, как было задумано. Классно =) Ещё раз большое спасибо за помощь! Рабочий пример TCP client & server, где они один раз обмениваются сообщениями и оба выключаются прикладываю во вложении. Плюс бонус - дерево вызовов синхронных сокетов из статьи Криса для клиента-сервера для TCP и UDP.
litrovith, коротко, но ёмко. спасибище и мегареспектище за помощь и за то, что ткнул меня носом в msdn - туда мне и дорога, меньше тупых вопросов на форуме. короче параметры optional. если мне не нужны - не указываю.