Объем буффера

Discussion in 'WASM.BEGINNERS' started by Aspire, Jul 12, 2007.

  1. Aspire

    Aspire New Member

    Blog Posts:
    0
    Хорошо, что есть такой раздел для новичков! Может, мой вопрос будет некорректным, если что поправьте, или направьте.. Есть два приложения (клиент и сервер), между которыми происходит обмен данными по сети. Соответственно, в каждом приложении данные сначала загружаются в буффер, а затем передаются на сокет. Подозреваю, что объем этого-самого буфера должен как-то оптимально рассчитываться исходя из возможностей сети и, может быть, желаемой загрузки процессора. А, может, это вообще здесь не причем ?
     
  2. nester7

    nester7 New Member

    Blog Posts:
    0
    R. Stivens
    TCPIP Illustrated, Volume 1 - The Protocols
     
  3. rain

    rain New Member

    Blog Posts:
    0
    Aspire если ты работаешь с winsock и SOCK_STREAM, копируй что хочешь и сколько хочешь ос за тебя все сделает, т.е. разобъет на пакеты, доставит, уведомит, заблокирует сокет в случае чего
     
  4. Aspire

    Aspire New Member

    Blog Posts:
    0
    rain Ага, понял. Это интересно, надо будет сниффером отследить как пакеты будут уходить. Прога рассчитана на соеденение SOCK_STRIM, вроде-как том должен быть сплошной поток данных, но большой объем таким макаром передать сложно, поэтому данные разбиваются на части и отсылаются по частям, после чего склеиваются. Может, я слишком усложняю ? Как указать функции socket другой протокол ? Заране сенкс.
     
  5. rain

    rain New Member

    Blog Posts:
    0
    это всё делает ос за тебя _сама_, со слишком большими объемами я не сталкивался, но помнится (если только я не ошибаюсь) могут быть "баги" к примеру такие: сервер отправляет несколько пакетов (т.е. несолько вызовов send() а реальных пакетов может быть намного больше), а клиент может принят всё это одним recv'ом или наоборот на один send может получится несколько recv'ов просто учитывай эти вещи. да и то это редкие случаи
     
  6. roman_pro

    roman_pro New Member

    Blog Posts:
    0
    Распространенные грабли, на которые наступает большинство новичков. Поэтому проще рассматривать tcp соединение как поток и не заморачиваться по поводу пакетов.
     
  7. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Но всё-таки вытягивать этот поток приходится по кусочкам :)