Добрый день, есть сервер, к нему подключается клиент и посылает запрос через send() и recv() , как мне определить конец запроса и послать этот запрос другому серверу?
спасибо
>Добрый день, есть сервер, к нему подключается клиент и посылает запрос через
>send() и recv() , как мне определить конец запроса и послать
>этот запрос другому серверу?
>спасибоНадежно определить конец данных можно только исходя из содержимого передаваемой
информации, зная используемый прикладной протокол. TCP не предусматривает какой-либо
группировки данных в передаваемом потоке.
>Добрый день, есть сервер, к нему подключается клиент и посылает запрос через
>send() и recv() , как мне определить конец запроса и послать
>этот запрос другому серверу?Не знаю что можно послать через recv(), но вообще-то когда клиент хочет сказать что он уже всё сказал, он вызывает shutdown(SHUT_WR). На стороне сервера это видно - recv() возвращает 0.
Хотя скорее всего, раз речь идет про "запрос", то вы имеете в виду протокол более высокого уровня, где окончание "запроса" не всегда (всегда не) совпадает с окончанием передачи данных клиентом. Какой протокол?
А вообще, если вы пишете такой себе proxy, то зачем вам конец запроса? Просто тупо передавайте на "другой сервер" то что получаете от клиента. И наоборот.