заморочка с потоком чтения

Тема в разделе "WASM.NETWORKS", создана пользователем spencer, 12 май 2007.

  1. spencer

    spencer New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2005
    Сообщения:
    277
    создаю поток для чтения из сокета. Согласо идеи как только будет считанно хоть что то поток должен бы закрытся.
    Код таков:
    Код (Text):
    1. read_data   proc
    2.         sub     esp, 4
    3.         mov     dword ptr [esp], sizeof(sockaddr_in)
    4.         invoke  accept, hDataSocket, addr saddr, esp
    5.         add     esp, 4
    6. sss:        invoke  recv,hDataSocket,ReciveDataBufferOffset, 0Fh, 0
    7.         inc     eax
    8.         test    eax, eax
    9.         je      sss
    10.         ret 4
    11. read_data endp
    Код настройки сокета я не приводу поскольку accept срабатывает с ERROR_SUCCESS (00000000), значит все там нормально и сервер ко мне присоединился. Однако recv возвращает WSAENOTCONN (00002749) чтосогласно MSDN говорит о том что hDataSocket не соединён:
    так как же может такое получится если результат работы accept говорит о том что соединение то какраз и установленно?
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    accept возвращает новый хэндл сокета. Вот из него и надо читать
     
  3. spencer

    spencer New Member

    Публикаций:
    0
    Регистрация:
    15 авг 2005
    Сообщения:
    277
    /me покраснел, скукожился и забился в уголочекь

    MSoft большое спасибо. Постоянно что то упускаю, болячка это моя...
     
  4. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    хех, ты б знал, скока я с этим парился в свое время :)