Шаг 29.
Создание Internet-приложений в среде Delphi. Серверные сокеты

    На этом шаге мы рассмотрим использование серверных сокетов.

    Одного компонента TServerSocket, если его поместить на форму приложения, достаточно для того, чтобы ваше приложение превратилось в сервер, работающий по протоколу TCP/IP. В процессе работы этот компонент будет использовать один экземпляр объекта TServerWinSocket, необходимый для прослушивания порта и по одному экземпляру TServerClientWinSocket для каждого открытого соединения с сокетом клиента. Серверный компонент выполняет следующие задачи:

    Перед началом работы, серверному сокету нужно задать номер порта, который он будет слушать. Номер задается в свойстве Port или неявным образом, если в свойстве Service вы указываете имя используемой службы.

    Вы можете открыть слушающее соединение во время исполнения, если вызовете метод Open. Если при разработке программы вы укажете в свойстве Active значение True, то при запуске программы, слушающий сокет будет активизироваться автоматически.

    Слушающий сокет автоматически обслуживает запрос клиентского сокета на соединение. При этом вызывается событие OnClientConnect.

    Данные о слушающем соединении и активных соединениях вы можете получить из составного свойства Socket. Объекты, обслуживающие активные соединения, помещаются в свойстве Connections. Используя свойство ActiveConnections, в котором указывается общее число открытых соединений, вы можете обращаться к нужному объекту в массиве Connections по индексу; значение индекса должно изменятся от 0 до ActiveConnections-1.

    Закрываются серверные соединения вызовом метода Close. При этом завершаются все открытые соединения, удаляются из очереди все запросы на открытие соединения, и закрывается слушающее соединение. Клиент, в свою очередь, может сам закрыть свое соединение, что не помешает работе других активных соединений, - в этом случае в серверном сокете инициируется событие OnClientDisconnect.

    На следующем шаге мы рассмотрим работу с событиями сокетов.




Предыдущий шаг Содержание Следующий шаг