Главная страница
    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.45 MB
Время: 0.045 c
2-1169538596
Mikka
2007-01-23 10:49
2007.02.11
Как закрасить в Chart е область, ограниченную замкнутой серией ?


4-1159356909
17Landgraf
2006-09-27 15:35
2007.02.11
Подскажите на счет второго параметра в sDlgButtonChecked


15-1169440155
Zeqfreed
2007-01-22 07:29
2007.02.11
Виста это НЕ плагиат с МакОС!


15-1169220677
pavelaver
2007-01-19 18:31
2007.02.11
как решить задачу


2-1169750044
olevacho_
2007-01-25 21:34
2007.02.11
idhttp.post не работает





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский