Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TServerSocket - проблема получения и обработки сообщения [D6, D7, WinXP]


Volf_555 ©   (2005-10-16 23:32:00) 

Проблема следующая:
На клиентской машине у меня пишется:
ClientSocket1.Open;
ClientSocket1.Socket.SendText(edit1.Text);


Припустим, edit1.Text:='Проверка';

Как на сервере обработать присланный текст?
P.S.: Следующий код выводит на экран пустое сообщение:

procedure TForm1.ServerSocket1ClientWrite(Sender: TObject;
 Socket: TCustomWinSocket);
begin
ShowMessage(Socket.ReceiveText);
end;


Digitman   (2005-10-17 11:55:00) [1]

если в обработчике On[Client]Read результат вызова Socket.ReceiveLength равен нулю, то нет смысла и ReceiveText() вызывать

а уж если и вызвал и получил пустую строку, то нет смысла ShowMessage() вызывать

разве это не очевидно ?


Volf_555   (2005-10-17 01:47:00) [2]

Спасибо - работает, но не до конца.
OnClientRead- срабатывает так, что сперва показывается пустое сообщение, а потом то сообщение, которое отправил. В чём теперь ошибка?


t1   (2005-10-17 01:18:00) [3]

Client/ServerSocket - событийные компоненты, следовательно, в обработчиках событий нужно производить действия.

Последовательность действий такая:

Клиент:
C.Connect
в C.OnConnect: C.Socket.Sendtext

Сервер:
в OnClientRead читаем данные.


Volf_555   (2005-10-17 01:12:00) [4]

Во все методы поставил ShowMessage(Socket.ReceiveText);- ни один не работает! В чём решение этого вопроса лежит?


Volf_555   (2005-10-17 00:52:00) [5]

Не совсем. А как правильно будет? Какой метод вызывается?


t1   (2005-10-17 00:27:00) [6]


> ServerSocket1Client Write


Уверен, что нужное событие обрабатываешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо