accept

Тема в разделе "WASM.NETWORKS", создана пользователем netw0rm, 16 янв 2006.

  1. netw0rm

    netw0rm New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2005
    Сообщения:
    78
    Не подскажете как сделать не блокируищейся на время/временно accept
     
  2. kropalik

    kropalik New Member

    Публикаций:
    0
    Регистрация:
    27 апр 2005
    Сообщения:
    155
    Адрес:
    msk
    // установить сокет s в блокирующий режим

    tmp=0;

    WSAIoctl(s,FIONBIO,&tmp,4,NULL,0,(u_long*)&res,NULL,NULL);



    connect(s,(LPSOCKADDR)addr,sizeof(SOCKADDR_IN));



    // вернуть обратно

    WSAIoctl(s,FIONBIO,&tmp,4,NULL,0,(u_long*)&res,NULL,NULL);
     
  3. Noble Ghost

    Noble Ghost New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2004
    Сообщения:
    204
    Адрес:
    Russia
    если с crt, то так можно:
    Код (Text):
    1. nonblock = true;
    2. ioctlsocket(sock, FIONBIO, (u_long FAR*)&nonblock);


    тот же вызов с nonblock = 0 для отключения.



    аналогично на апи:
    Код (Text):
    1. tmp = 1; // чтобы включить non-blocking mode
    2. WSAIoctl(s,FIONBIO,&tmp,4,NULL,0,(u_long*)&res,NULL,NULL);


    и тот же вызов, только tmp = 0, для отключения non-blocking mode.