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

Вниз

как известно сокеты склеивают сообщения если выполнить   Найти похожие ветки 

 
Гость   (2004-09-01 15:48) [0]

код :

ClientScoket.Socket.SendText("Hello!");
ClientScoket.Socket.SendText("User!");

то  
ServerSocket.Socket.ReceiveText будет "Hello!User!";


Кто предложит алгоритм что-бы избежать склевания?


 
Reindeer Moss Eater ©   (2004-09-01 15:55) [1]

Алгоритм:
Не бояться склеивания, ибо нет никакого "склеивания".


 
Digitman ©   (2004-09-01 15:58) [2]


> как известно сокеты склеивают сообщения


это известно только тебе, никому более не приходила мысль ассоциировать конкретный используемый поточный транспортный протокол с "сокетом"  как таковым


 
Kurtevich ©   (2004-09-01 16:06) [3]

отправляй сообщения с интервалом времени >8 мсек. может поможет. заодно можно побаловаться с SND_BUFFER.


 
Гость   (2004-09-01 16:17) [4]

Reindeer Moss Eater ©   (01.09.04 15:55) [1]
Неправда !
на код:
for i:=1 to 10 do
ClientSocket.SendText("Hello!");

На сервер в он клиент реад Socket.ReceiveText ="Hello!Hello!Hello! и тд.
что сделать чтобы избежать этого даже если сеть сильно загружена


 
cyborg ©   (2004-09-01 16:37) [5]

http://delphibase.endimus.ru/?action=viewtopic&topic=nettransfer

Первая моя была, но после меня примеры получше написали.


 
Суслик ©   (2004-09-01 16:41) [6]

описать протокол обмена данными таким образом, чтобы принимающая сторона понимала, какие исходные фрагменты были посланы.


 
VID ©   (2004-09-01 18:57) [7]

Гость   (01.09.04 15:48)
cyborg тебе ответил. там ещё мой вариант есть, выбирай что по душе.


 
VID ©   (2004-09-01 18:58) [8]

Kurtevich ©   (01.09.04 16:06) [3]
а ты тот ещё извращенец....


 
Reindeer Moss Eater ©   (2004-09-01 19:20) [9]

На сервер в он клиент реад Socket.ReceiveText ="Hello!Hello!Hello! и тд.
что сделать чтобы избежать этого даже если сеть сильно загружена


Избежать чего?
Полного приема информации переданной второй стороной или чего?


 
Reindeer Moss Eater ©   (2004-09-01 19:22) [10]

как известно сокеты склеивают сообщения если выполнить

Как известно во всех языках мира отдельные слова разделяются пробелами для того что бы не "склеивались" при чтении книг и статей.


 
VID ©   (2004-09-01 20:13) [11]

Смотрите леденящий кровь фильм ужасов!
Ночной кошмар начинающих программеров!

Л И П К И Й
С О К Е Т

во всех кинотеатрах страны.
   ...coming soon...


 
iZEN ©   (2004-09-01 20:34) [12]

to Гость   (01.09.04 15:48)
flush-а для дельфового сокета нет что-ли?


 
Fay ©   (2004-09-01 21:05) [13]

"дельфовый сокет" - это хто?


 
vuk ©   (2004-09-01 21:16) [14]

Вообще говоря, TCP - потоковый протокол, т.е. такая склейка возможна. Возможна также и "нарезка" больших блоков данных на фрагменты, чтобы в TCP пакет влезали. Ничего страшного в этом нет. Если нужна отдельная обработка строк, разделяйте их символами перевода строки. Естественно, на обратной стороне нужно разбирать приходящие данные и разделять строки.


 
STYLE ©   (2004-09-01 21:34) [15]

В HTTP протоколе к примеру после заголовка сразу следуют 3 байта - размер следующего пакета и #13#10 - разделитель, затем сама информация, и там уже не важно как будет резать или склеивать Socket переданную информацию. Главное считать указанное после заголовка количество байт.. Соотвественно если Если пакет не приходит N-ное количество времени, то связь нарушена.


 
iZEN ©   (2004-09-01 22:08) [16]

/**Fay ©   (01.09.04 21:05) [13]
"дельфовый сокет" - это хто?
*/
Это такая ОО-программная оболочка над WinSock, написанная умельцами из Borland на языке Delphi (бывш. Object Pascal).

to vuk ©   (01.09.04 21:16) [14].
Согласен.



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

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

Наверх




Память: 0.5 MB
Время: 0.063 c
14-1093973736
Jus
2004-08-31 21:35
2004.09.19
Сон замучал!!!


1-1094346129
eLVik
2004-09-05 05:02
2004.09.19
Посоветуйте компонент


14-1094036140
Real
2004-09-01 14:55
2004.09.19
Восстановление нормальной загрузки Win9x - Win2000 - Linux


3-1093146870
Flagman
2004-08-22 07:54
2004.09.19
Процедура не отрабатывает :(


1-1093945186
ruslan_as
2004-08-31 13:39
2004.09.19
Как при поиске в RichEdit текст прокручивался