Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > Принятие даных через сокет |
Автор: fray 13.10.2008, 13:31 |
Такой вопрос, Select сказал что данные пришли в сокет, протокол (HTTP), заголовок скажем Content-Length: 2048 У меня статичиский буфер(buf) размером 1024 в который я читаю из сокета len = read(socket, buf, 1024 -1 ); buf[len+1] = '\0'; Могу ли я точно узнать сколько данных пришло в сокет( чтобы не читать снова len = read(socket, buf, 1024 -1 ); ) скажем что-то типа: если данных пришло больше чем 1024 то тогда читаю в динамический буффер если нет то в статический Позволяет ли select или kqeueu узнавать о том сколько данных пришло в сокет ? Спасибо. |
Автор: GrayCardinal 13.10.2008, 14:06 | ||
fray,
Скармливаешь функтяре дескриптор, получаешь кол.-во доступных байт для чтения. Фурычет как на файлах так и на сокетах............... |
Автор: fray 13.10.2008, 14:15 | ||||
Ага спасибо ![]() |
Автор: GrayCardinal 13.10.2008, 14:16 |
fray, Завсегда пожалуйста.......... |
Автор: fray 14.10.2008, 12:51 |
.... |