Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Асинхронные сокеты

398
02 ноября 2005 года
Alexandoros
630 / / 21.10.2005
Код:
...
m_LocalSocket = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, WSA_FLAG_OVERLAPPED);
...
res = bind(m_LocalSocket, reinterpret_cast<sockaddr *>(&m_LocalAddress), sizeof(m_LocalAddress));
...
res = listen(m_LocalSocket, SOMAXCONN);
...

Connect->GetInSocket() = WSAAccept(m_LocalSocket,
                        reinterpret_cast<sockaddr *>(&(Connect->GetRemAddr())), &res, 0, 0);
               
                if (Connect->GetInSocket() == INVALID_SOCKET)
                {
                    delete Connect;

                    if(WSAGetLastError() ==  WSAEWOULDBLOCK )
{
...


ЧЕ WSAAccept не отдает управления?
MSDN:
A socket in nonblocking mode (blocking) fails with the error WSAEWOULDBLOCK when an application calls WSAAccept and no connections are pending on the queue. After WSAAccept succeeds and returns a new socket handle, the accepted socket cannot be used to accept any more connections. The original socket remains open and listens for new connection requests.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог