проблема: как узнать причину disconnecta (TCP)

Тема в разделе "WASM.NETWORKS", создана пользователем kropalik, 7 окт 2005.

  1. kropalik

    kropalik New Member

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

    на стороне клиента в поцессе

    работы функция recv() (ws2_32)

    возвращает 0 (connection closed)

    хотя функции типа closesocket клиент

    не вызывает.

    на сервере recv() возвращает SOCKET_ERROR

    GetLastError - 10054 (WSAECONNRESET

    - An existing connection was forcibly closed by the remote host. )
     
  2. samba

    samba New Member

    Публикаций:
    0
    Регистрация:
    24 авг 2003
    Сообщения:
    65
    Адрес:
    England
    А каким образом ты передаешь данные серверу?

    Если с помощью TransmitFile, то то там есть параметр который инициирует завершение соединения.

    Лучше покажи как ты передаешь данные серверу
     
  3. kropalik

    kropalik New Member

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

    res=send(s,buf,sizeof(buf),0);

    (используется ws2_32.dll)

    без ошибок - возвращает sizeof(buf)



    непонятно из за чего так вообще происходит.

    я для эксперимента вообще убрал все

    вызовы closesocket (ее нет в списке импрорта)

    и т.п. типа shutdown тоже нету ни в клиенте

    ни в сервере. а соединение все равно пропадает.