Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];

Вниз

склейка пакетов в сокете   Найти похожие ветки 

 
malyar   (2007-04-05 23:20) [0]

всем привет
народ внесите ясность в работу сокетов

имеется serversocket работающий в nonblock режиме
все данные которые он получает от разных клиентов
заносятся в одну глобальную переменную (buf:string)

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
 Socket: TCustomWinSocket);
var s:string;
 begin
  s:=socket.ReceiveText;
  if s = "" then exit;
 buf:=buf+s;
 end;
----------------------------------------------
предположим клиент1 передает на сервер "111111111111111"
предположим клиент2 передает на сервер "222222222222222"

возможна ли ситуация когда в переменоой buf данные перемешаются
что типа "11112211222221111112222" ?

или всегда будут "111111111111111222222222222222" ?

тобиш возможно-ли возникновение события ServerSocket1ClientRead
пока клиент не передал все данные посланные командой  sendtext ?


 
SlymRO ©   (2007-04-06 07:00) [1]

malyar   (05.04.07 23:20)
11112211222221111112222

именно так
один Send  может вызвать множество Read и наоборот
множество Send может вызвать один Read


 
medved_68 ©   (2007-04-06 09:03) [2]


> возможна ли ситуация когда в переменоой buf данные перемешаются
>
> что типа "11112211222221111112222" ?

Нет, если только сам перемешаешь при передаче. :)
> или всегда будут "111111111111111222222222222222" ?

Да. В каком порядке послал, в таком и получишь, а вот в одном пакете или в нескольких - зависит от количества передаваемого.


 
Сергей М. ©   (2007-04-06 09:16) [3]


> предположим клиент1 передает на сервер "111111111111111"
> предположим клиент2 передает на сервер "222222222222222"
>
> возможна ли ситуация когда в переменоой buf данные перемешаются
> что типа "11112211222221111112222" ?


Да, возможна - буфер-то у тебя один на всех клиентов !
А должен быть индивидуальный буфер для каждого клиента.



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

Форум: "Сети";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.042 c
3-1187079408
alex_tonk
2007-08-14 12:16
2007.12.16
Создание DBF-ника


2-1195341386
.dn+
2007-11-18 02:16
2007.12.16
Открытие файла


15-1195105781
ZeroDivide
2007-11-15 08:49
2007.12.16
Требования к ПО для обеспечения совместимости с Vista


15-1194988293
wert
2007-11-14 00:11
2007.12.16
А сколько может стоить подключить комп к хабу?


2-1195802130
AndreyW
2007-11-23 10:15
2007.12.16
RichEdit с BMP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский