В начале работы с описанными в предыдущем разделе компонентами IdTCPServer и IdTCPChent рассмотрим создание несложного клиент-серверного приложения, клиентская и серверная части которого выполняют следующие функции.
• Клиентское приложение соединяется с сервером и отправляет ему введенную пользователем строку, ждет ответа, выводит полученный от сервера текст, отсоединяется от сервера.
• Серверное приложение принимает строку от клиентского приложения и посылает ответ (также текстовый), после чего разрывает соединение. Плюс к этому ведется подсчет количества обслуженных клиентов и запоминается IP-адрес компьютера, с которого пришел последний запрос.
Реализация как серверного, так и клиентского приложений в нашем случае предельно проста. Проект серверного приложения Ha3biBaeTCflSimpleServer. Внешний вид формы сервера (во время работы приложения) представлен на рис. 11.3.
Рис. 11.3. Внешний вид простого сервера
Текстовое поле (Edit) с количеством обработанных запросов имеет имя txtCount, а текстовое поле с адресом последнего обслуженного компьютера названо txtFrom. Вся работа сервера заключается в обработке события Execute для компонента IdTCPServer, помещенного на форму (присоедините этот компонент к порту 12340 и установите значение свойства Active = True) (листинг 11.1).