Re[3]: Синхронность в TCP/IP
От: g_i  
Дата: 25.07.09 08:46
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, Vamp, Вы писали:


V>>Отсюда очень простой вывод.

V>>Данные из очереди надо выбирать как можно быстрее. Если потом с ними делается что-то принципиально медленное, то их надо складывать в другую очередь.

N>А смысл? Если так делать, вы всего лишь перенесёте буферизацию на сторону сервера. Где-то это, может, и хорошо, но в большинстве случаев это просто потеря ресурсов сервера, которые более дефицитны, чем ресурсы клиента.


Чтобы освободить буфер tcp? У него м/б другие клиенты?
Как вариант, можно сообщать клиенту размер данных, который он может отправить серверу.
S -> C Send window size (n) announcement
C -> S Send data of size < n
C (sent == n) ? wait S window size announcement : Send data of size < (n — sent)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.