...

Листинг 11.28.

Обработка присоединения/отсоединения от сервера

procedure TfrmClient.TCPClientConnected(Sender: TObject);

begin

//Отправляем на сервер имя пользователя

TCPClient.WriteLn(\'name:\' + txtUser.Text);

end;

procedure TfrmClient.TCPClientDisconnected(Sender: TObject);

begin

//Оформим форму для отсоединенного от сервера состояния

Disconnect;

end;

Ключевой обработчик (именно по таймеру проверяется факт прихода сообщения от сервера) приведен в листинге 11.29. Для элемента управления TCPClient значение тайм-аута установлено для того, чтобы при отсутствии принятых данных клиентская программа не переходила надолго в состояние ожидания, а генерировалось исключение, по которому и можно судить, что данных еще нет (см. блок try в этом обработчике).

Загрузка...