URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5634
[ Назад ]

Исходное сообщение
"перенаправление запроса"

Отправлено artem , 14-Авг-06 06:38 
Добрый день, есть сервер, к нему подключается клиент и посылает запрос через send() и recv() , как мне определить конец запроса и послать этот запрос другому серверу?
спасибо

Содержание

Сообщения в этом обсуждении
"перенаправление запроса"
Отправлено DeadMustdie , 14-Авг-06 08:34 
>Добрый день, есть сервер, к нему подключается клиент и посылает запрос через
>send() и recv() , как мне определить конец запроса и послать
>этот запрос другому серверу?
>спасибо

Надежно определить конец данных можно только исходя из содержимого передаваемой
информации, зная используемый прикладной протокол. TCP не предусматривает какой-либо
группировки данных в передаваемом потоке.


"перенаправление запроса"
Отправлено michelnok , 18-Авг-06 23:40 
>Добрый день, есть сервер, к нему подключается клиент и посылает запрос через
>send() и recv() , как мне определить конец запроса и послать
>этот запрос другому серверу?

Не знаю что можно послать через recv(), но вообще-то когда клиент хочет сказать что он уже всё сказал, он вызывает shutdown(SHUT_WR). На стороне сервера это видно - recv() возвращает 0.

Хотя скорее всего, раз речь идет про "запрос", то вы имеете в виду протокол более высокого уровня, где окончание "запроса" не всегда (всегда не) совпадает с окончанием передачи данных клиентом. Какой протокол?

А вообще, если вы пишете такой себе proxy, то зачем вам конец запроса? Просто тупо передавайте на "другой сервер" то что получаете от клиента. И наоборот.