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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
15-1194926298
MBo
2007-11-13 06:58
2007.12.16
Охранять надо интеллектуальную собственность...


2-1195715338
Parus
2007-11-22 10:08
2007.12.16
DNS cepвep


15-1194732842
Johnmen
2007-11-11 01:14
2007.12.16
Борьба со спамом


1-1190714064
Илья_С
2007-09-25 13:54
2007.12.16
Фокус ListView


15-1194971813
Kick
2007-11-13 19:36
2007.12.16
delphi = pascal = языки для начинающих