Текущий архив: 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.45 MB
Время: 0.051 c