setsockopt () с RCVTIMEO не работает в Windows Mobile5 - PullRequest
0 голосов
/ 13 августа 2011

Я пытаюсь тайм-аут вызова recieve () для дескриптора сокета, используя API setsockopt () с параметром so_rcvtimeo, установленным со временем, равным 5 секундам.но мой вызов recieve () не прерывается по истечении 5 секунд, когда данные не принимаются с сервера.

Могу ли я узнать, есть ли какие-либо настройки, которые должны быть включены в Windows Mobile 5, чтобы это работало или естьДругой способ добиться этого в Windows Mobile 5 / карман ПК

Спасибо и всего наилучшего

1 Ответ

0 голосов
/ 13 августа 2011

В документации MSDN для setsocketopt четко указано (в разделе «Примечания»):

В следующем списке перечислены параметры BSD, которые не поддерживаются для setsockopt .

SO_ACCEPTCONN
SO_RCVLOWAT
SO_RCVTIMEO <--- Обратите внимание на это </strong>
SO_SNDLOWAT
SO_SNDTIMEO
SO_TYPE

«Обходной путь» - получение в отдельном потоке и ожидание этого потока в вызывающей программе с таймаутом, который прерывает порожденный поток.

...