recv timeout

Тема в разделе "WASM.NETWORKS", создана пользователем dgs, 11 июл 2009.

  1. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    Здрасте. Собственно сабж при скачивание данных с сервака все гуд, но когда данные заканчиваються recv долго ждет еще куска, как сократить этот таймаут или вообще как сразу отрубать соединение?

    Код выложен тут: http://fasm.moy.su/index/0-12
     
  2. LLInuoH

    LLInuoH New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2006
    Сообщения:
    15
    recv подефолту работает в блокирующем режиме... и он ждет пока ему что-нибудь пришлют... и прождать он может вечно, но по-видимому сервер разрывает соединение и поэтому получается чувство таймаута...
    ПС. сорцы не смотрел...
     
  3. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    хм. а как мне узнать, что я все данные скачал? не ужели надо сравнивать размер файла с кол-вом прочтенных данных..
     
  4. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    считать размер страницы, как указано в рфц
     
  5. dendi

    dendi New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    233
    Код (Text):
    1. tv.tv_usec  = 0;
    2. tv.tv_sec   = x*1000;
    3. setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (const char *)&tv, sizeof(struct timeval));
     
  6. dgs

    dgs New Member

    Публикаций:
    0
    Регистрация:
    23 июн 2008
    Сообщения:
    434
    спасибо