Здравствуйте, Mattias, Вы писали:
M>iResult = recv(client, recvbuf, recvbuflen, 0); выдает ошибку
M>Resource temporarily unavailable.
[Skip was here]
M>Как лучше всего решить эту проблему?
Ты забыл указать в чём эта проблема собсно заключается.
Судя по описанию это штатный код возврата для неблокирующих сокетов, всё в порядке.
Здравствуйте, Sergey Astakhov, Вы писали:
SA>Здравствуйте, Mattias, Вы писали:
M>>iResult = recv(client, recvbuf, recvbuflen, 0); выдает ошибку
M>>Resource temporarily unavailable.
SA>[Skip was here]
M>>Как лучше всего решить эту проблему?
SA>Ты забыл указать в чём эта проблема собсно заключается.
SA>Судя по описанию это штатный код возврата для неблокирующих сокетов, всё в порядке.
Как мне при этом получиить данные?
Здравствуйте, Mattias, Вы писали:
M>Здравствуйте, Sergey Astakhov, Вы писали:
SA>>Здравствуйте, Mattias, Вы писали:
M>>>iResult = recv(client, recvbuf, recvbuflen, 0); выдает ошибку
M>>>Resource temporarily unavailable.
SA>>[Skip was here]
M>>>Как лучше всего решить эту проблему?
SA>>Ты забыл указать в чём эта проблема собсно заключается.
SA>>Судя по описанию это штатный код возврата для неблокирующих сокетов, всё в порядке.
Думаю, дело в том, что
client= WSAAccept(server, (struct sockaddr*)&from, &fromlen, NULL, NULL);
WSAAccept (которая работает асинхронно) не успевает отработать и блокирует сокет.
Как мне при этом получиить данные?
Здравствуйте, Mattias, Вы писали:
SA>>>Ты забыл указать в чём эта проблема собсно заключается.
SA>>>Судя по описанию это штатный код возврата для неблокирующих сокетов, всё в порядке.
M>Думаю, дело в том, что
M>client= WSAAccept(server, (struct sockaddr*)&from, &fromlen, NULL, NULL);
M>WSAAccept (которая работает асинхронно) не успевает отработать и блокирует сокет.
M>Как мне при этом получиить данные?
Так ты всё-таки хочешь неблокирующие или блокирующие сокеты? В блокирующих recv не вернётся, пока не дождётся прихода данных, в неблокирующих — при отсутствии данных вываливается с кодом ошибки "данных нет, приходите позже". Если тебе нечего делать в ожидании данных — используй по старинке блокирующие сокеты и не заморачивайся.