Non-blocking connect -> WSAECONNREFUSED

Тема в разделе "WASM.NETWORKS", создана пользователем NeuronViking, 4 июн 2010.

  1. NeuronViking

    NeuronViking New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2004
    Сообщения:
    476
    Адрес:
    где-то в Сиднее
    не понимаю в чемможет быть дело...

    WSASocket( domain, type, protocol, NULL, 0, 0 );
    sflags = 1
    ioctlsocket( sock_ptr->socket_id, FIONBIO, &sflags );

    connect( sock_ptr->socket_id, (struct sockaddr*)&server_addr, sizeof(struct sockaddr_in) ); server_addr = 127.0.0.0:33333


    FD_ZERO( &socket_wrset );
    FD_ZERO( &socket_erset );
    FD_SET( sock_ptr->socket_id, &socket_wrset );
    FD_SET( sock_ptr->socket_id, &socket_erset );
    server_timeout.tv_sec = (long)(timeout_ms / 1000);
    server_timeout.tv_usec = (long)((timeout_ms - server_timeout.tv_sec * 1000) * 1000);

    err = select( (int)(sock_ptr->socket_id+1), NULL, &socket_wrset, &socket_erset, &server_timeout );

    socket_erset -> WSAECONNREFUSED (10061)

    и так на ЛЮБОЙ адрес и ЛЮБОЙ порт! =(
    Windows firewall и Trend Micro OfficeScan Client - ОТКЛЮЧЕНЫ.
     
  2. NeuronViking

    NeuronViking New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2004
    Сообщения:
    476
    Адрес:
    где-то в Сиднее
    извиняюсь. WSAECONNREFUSED только на 127.неважно.что.еще
    почему так?
     
  3. NeuronViking

    NeuronViking New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2004
    Сообщения:
    476
    Адрес:
    где-то в Сиднее
    но больше всего меня волнует ПОЧЕМУ select возвращает WSAECONNREFUSED _немедленно_ несмотря на указанный таймаут (неважно какой - задавал разные значения!)

    система WinXP SP2 64, Windows Server 2003 32 - везде поведение одинаково.
     
  4. NeuronViking

    NeuronViking New Member

    Публикаций:
    0
    Регистрация:
    29 окт 2004
    Сообщения:
    476
    Адрес:
    где-то в Сиднее
    ладно, будет считать это нормальным поведением на loopback интерфейсах. кстати, оказывается линуксы ведут себя точно так же =)