Разница в работе с сокетами Windows и Linux
От: Ondron  
Дата: 05.10.05 21:22
Оценка:
Дорогие друзья, обращаюсь к вам с просьбой о помощи.

Мною был написан сервер, принимающий и передающий информацию напрямую через сокеты.
Для совместимости с Linux я добавил в код несколько переопределений.
Все они касались WSAStartup() и WSACleanup(), которые у меня определяются только при сборке приложения под Windows.
Плюс closesocket() для сборки в Windows и close() для Linux.
Других очевидных различий я не нашёл: имена функций, параметры и их типы для Windows и Linux одинаковы.
При тестировании в Windows проблем не возникает.
А под Linux дело доходит до первого вызова функции recv(remotesock, (char *) &data, sizeof (data), 0), после чего приложение вываливается по сигфолту.

Буду благодарен за помощь в моей проблеме.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.