![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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
Уверен, что нужное событие обрабатываешь?