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

Вниз

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

 
bober   (2006-09-08 13:13) [0]

Добрый день!
Как правильно отследить поток на сервере?
на клиенте делаю
MySocket: TWinSocketStream;

c:="тест";
MySocket := TWinSocketStream.Create(Socket,60000);
MySocket.Write(c,Length(c)+1);
MySocket.Free;

на сервере
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
 Socket: TCustomWinSocket);
begin
mes:=Socket.ReceiveText;  и тут получаю mes=4k независимо от того что отправлял на клиенте.

есть мысль что нужно обрабатывать
ServerSocket1GetThread
но это событие у меня почему то не наступает.  
Заранее спасибо.


 
Сергей М. ©   (2006-09-08 13:34) [1]


> и тут получаю mes=4k независимо от того что отправлял на
> клиенте.


Остальное придет позже, при последующих событиях OnClientRead


> есть мысль что нужно обрабатывать
> ServerSocket1GetThread


Не путай thread (поток кода) со stream (поток данных)


 
bober   (2006-09-08 13:48) [2]

последующих событий почему то не возникает

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin

ShowMessage(IntToStr(length(Socket.ReceiveText))); -вот сдесь выдает правильную длину передаваемого текста
ShowMessage(Socket.ReceiveText); - сдесь уже пусто  - почему???? даже 4К в таком варианте не появляются.


 
Сергей М. ©   (2006-09-08 13:59) [3]


> сдесь уже пусто  - почему?


Потому что предыдущим ReceiveText() ты уже получил все что было доступно в буфере приема на тот момент.


> последующих событий почему то не возникает


Сколько было отправлено, столько ты и получил.
Значит, передатчик у тебя реализован неверно.


 
medved_68 ©   (2006-09-08 17:26) [4]


> Добрый день!
> Как правильно отследить поток на сервере?
> на клиенте делаю
> MySocket: TWinSocketStream;
>
> c:="тест";
> MySocket := TWinSocketStream.Create(Socket,60000);
> MySocket.Write(c,Length(c)+1);
> MySocket.Free;

bober   Попробуй отправлять так:
MySocket.Write(c[1],Length(c));
глядишь и вопросы пропадут :)))


 
Slym(RO)   (2006-09-11 04:15) [5]

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var s:string;
begin
s:=Socket.ReceiveText;
ShowMessage(IntToStr(length(s))); -вот сдесь выдает правильную длину передаваемого текста
ShowMessage(s); - сдесь уже не пусто



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

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

Наверх




Память: 0.47 MB
Время: 0.045 c
15-1169294773
Vovan #2
2007-01-20 15:06
2007.02.11
Большой EXE


2-1169626183
vajo
2007-01-24 11:09
2007.02.11
Как запустить проект ASP.NET Web Application for Delphi (BDS2006)


15-1169319302
Desdechado
2007-01-20 21:55
2007.02.11
Кто играл в Fallout 2 - пара вопросов


3-1164029298
Ольга
2006-11-20 16:28
2007.02.11
Ошибка I/O Error 103 при работе с базой данных Paradox


15-1169161784
hmmcensured
2007-01-19 02:09
2007.02.11
вопрос по SEO