Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

17K
01 марта 2007 года
al.t
5 / / 30.06.2006
Требуется перанаправлять данные из одного сокета в другой. Как это сделаеть минуя сохранения в буфер, ведь на это тратится время и придется резать поток? Возможно для этого должны быть какие-то другие ф-ии помимо recv, send?
Заранее спаисбо.
361
01 марта 2007 года
Odissey_
661 / / 19.09.2006
Установи SO_SNDBUF в 0.
Только много сразу не шли. Пакет у тебя уйдет конечно сразу, без буфера через DMA. Но считаться отправленным будет, только когда придут назад все ask`и.
17K
01 марта 2007 года
al.t
5 / / 30.06.2006
я так понимаю что для получения потока можно также сделать SO_RCVBBUF=0. А как тогда это вообще будет работать? Как реализовать перенаправление, я не очень врубаюсь, можно по подробнее?
361
01 марта 2007 года
Odissey_
661 / / 19.09.2006
=).
При создании сокета. устанавливаем setsockopt(so, SOL_SOCKET, SO_SNDBUF, (char *)&bufsize, sizeof(bufsize)) размер буфера в ноль.
man setsockopt и смотрим опцию SO_SNDBUF. для *nix систем.
для винды незнаю. делается вообщем наверное так же...
361
02 марта 2007 года
Odissey_
661 / / 19.09.2006
Под виндовские сокеты нормальное описание данной технологии здесь..
С *nix скими у тебя так не выйдет (если это TCP/IP конечно). Дело в том что там размер буфера, устанавливается из расчета самого большЕго. То есть если размер буферв сенд у тебя 0, а ресив Т, то и сенд будет Т.

З.Ы.
Задавая новые вопросы с помощью редактирования старых, имеешь шанс что тебе ни кто не ответит - они отображаются как уже прочитанные.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог