recv timeout

Discussion in 'WASM.NETWORKS' started by dgs, Jul 11, 2009.

  1. dgs

    dgs New Member

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

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

    LLInuoH New Member

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

    dgs New Member

    Blog Posts:
    0
    Joined:
    Jun 23, 2008
    Messages:
    434
    хм. а как мне узнать, что я все данные скачал? не ужели надо сравнивать размер файла с кол-вом прочтенных данных..
     
  4. ohne

    ohne New Member

    Blog Posts:
    0
    Joined:
    Feb 28, 2009
    Messages:
    431
    считать размер страницы, как указано в рфц
     
  5. dendi

    dendi New Member

    Blog Posts:
    0
    Joined:
    Sep 3, 2007
    Messages:
    233
    Code (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

    Blog Posts:
    0
    Joined:
    Jun 23, 2008
    Messages:
    434
    спасибо