![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Bargest |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 6.2.2015 Репутация: нет Всего: нет |
Пытаюсь подключить клиента и сразу же проверить наличие данных для приема:
И select выдает SOCKET_ERROR, код ошибки - WSAENOTSOCK ("не сокет"). MSDN говорит, что select возвращает эту ошибку, если в структуре fd_set одно из полей не является сокетом. При этом если я не использую select, а просто принимаю данные:
То данные благополучно приходят. Пробовал делать ожидание после accept'а, пробовал делать в блокирующем режиме (с NULL вместо таймаута) - результат один и тот же. Изначально эта проверка select'ом делалась в другом месте, но сейчас в поисках баги я уже перенес эту проверку вплотную к accept'у. И все равно получаю этот WSAENOTSOCK. Что тут не так? Это сообщение отредактировал(а) Bargest - 7.2.2015, 00:10 |
||||
|
|||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 11 Всего: 45 |
На вид все так, только Вы не проверили, что sock не равен INVALID_SOCKET. Но раз работает, то сокет, вроде рабочий. А какой тип у переменной sock? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 11 Всего: 45 |
Может, вместо IPPROTO_IP тупо 0 поставить? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
| Bargest |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 6.2.2015 Репутация: нет Всего: нет |
В дебаге проверял, там 0x68. Вполне нормальный сокет.
В общем, так и не поняв, в чем была проблема, переделал на WSAEventSelect + WaitForSingleObject и стало нормально. Вопрос более не актуален. Это сообщение отредактировал(а) Bargest - 7.2.2015, 13:12 |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |