Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.08;
Скачать: CL | DM;

Вниз

Ограничение получаемой информации через Сокеты   Найти похожие ветки 

 
Sam05   (2005-09-26 10:43) [0]

Доброе время суток. Вот у меня такой вопрос
Ситуация:
отправляю клиентом в цикле ячейки таблицы, командой
k:=ClientSocket1.Socket.SendBuf(s^,Length(st)+1);
где st: string, s:PChar;

на серверной части организую цикл, по количеству строк и столбцов (из тоже передаю и получаю, с ними все нормально)
При первом же
Tem:=socket.ReceiveLength;
GetMem(buf, Tem);
Tem1:=socket.ReceiveBuf(Buf^,Tem);

в Tem у меня весь так сказать размер переданных данных, а вот в buf почему то помещается только первая ячейка причем в Tem1 тоже весь размер переданных данных.

Подскажите как получать переданную информацию кусками, причем длина переданного в очередной раз куска может быть разной, а топерерыл весь инет ничего там нет по этому поводу
Заренее благодарен


 
Reindeer Moss Eater ©   (2005-09-26 11:44) [1]

Подскажите как получать переданную информацию кусками

Ты её и так получаешь кусками. А что бы не запутаться в принятых данных надо придумать протокол и следовать ему на приемном и передающем концах.


 
Digitman ©   (2005-09-26 11:54) [2]


> в buf почему то помещается только первая ячейка


какие такие "ячейки" в стриме ?
нет в TCP/IP никаких "ячеек".


 
Sam05   (2005-09-26 14:06) [3]

ячейки таблицы, а не протокола, просто я хочу передать и принять каждую ячейку таблицы отдельно, т.е в цикле. Или мне  нужно передавать форматированную страку типа "Данные;Даннны;Даннны;"


 
Reindeer Moss Eater ©   (2005-09-26 14:17) [4]

Или мне  нужно передавать форматированную страку типа "Данные;Даннны;Даннны;"

Это называется "принять соглашение об обмене данными".
Протокол иными словами.

Принять и следовать ему.


 
Sam05   (2005-09-26 14:42) [5]

А не льзя ли просто отправить например 10 символов, и их принять не зная сколько отправил, или обязательно нужно раз отправил 10 то и принял то, потом отправил 15 то и принял 15, а я хочу отправлять порциями и принимать порциями, не всю кучу сразу


 
Reindeer Moss Eater ©   (2005-09-26 14:46) [6]

Еще раз для упорных:
Тебе нужен протокол или соглашение о том, как ты передаешь и принимаешь данные.
И вот когда он у тебя будет, то ты сможешь передавать/принимать  данные так, как тебе хочется.


 
atruhin ©   (2005-09-26 14:53) [7]

В TCP/IP нельзя, он передает только поток данных.
В UDP можно, но не гарантированна доставка.
отправляй первым байтом пакета длинну твоей ячейки. (например)



Страницы: 1 вся ветка

Текущий архив: 2006.01.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
8-1123180880
Ландграф Павел
2005-08-04 22:41
2006.01.08
возможно ли понизить битрейд mp3 без схемы mp3>wav>mp3


4-1130766908
Зм1й
2005-10-31 16:55
2006.01.08
Сообщение деактивации


1-1134048533
Mishenka
2005-12-08 16:28
2006.01.08
Можно ли у TImage сделать прозрачный фон?


4-1130866310
Павлик Морозов
2005-11-01 20:31
2006.01.08
Отображение текста TrueType, минуя функции GDI


2-1134580039
гость2
2005-12-14 20:07
2006.01.08
Определить открыто ли popup меню