![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
WebSockets с ICS в Delphi: простое демо сервера с поддержкой SSL/TLS и безDelphi , Интернет и Сети , ПротоколыWebSockets в Delphi с использованием Internet Component Suite (ICS) - это мощный инструмент для создания реального времени веб-приложений. В этой статье мы рассмотрим, как создать простое демо-приложение сервера WebSocket с поддержкой SSL/TLS и без, используя ICS в Delphi. Что такое WebSockets? WebSockets - это протокол связи, который позволяет двустороннюю связь между клиентом и сервером через один открытый канал. Это позволяет передавать данные в режиме реального времени без необходимости постоянных запросов с клиента. Почему ICS? ICS - это набор компонентов для Delphi, который упрощает работу с веб-технологиями, включая WebSockets. ICS включает в себя широкий спектр компонентов, таких как TIdHTTP, TIdHTTPClient, TIdHTTPServer и TIdWebSocketServer, которые облегчают работу с HTTP и WebSockets. Создание простого демо-сервера WebSocket с ICS Для создания простого демо-сервера WebSocket с ICS мы будем использовать новый образец, предоставленный Overbyte - OverbyteIcsBasicWebServer.dpr. Этот образец упрощает создание сервера, удаляя большинство функций, которые могут запутать новичков.
Прежде всего, убедитесь, что у вас установлена последняя версия ICS. Вы можете скачать его с официального сайта Overbyte (https://www.overbyte.be/products/ics.html).
Как упоминалось ранее, образец OverbyteIcsBasicWebServer.dpr находится в репозитории ICS V9 по адресу https://svn.overbyte.be/svn/icsv9/. Скопируйте этот файл в свою рабочую директорию.
Откройте Delphi и создайте новый проект, выбрав File > New > VCL Forms Application. В качестве основной формы выберите TForm1.
Перейдите на форму и щелкните правой кнопкой мыши на панели компонентов, чтобы открыть меню Component > Import Component. Найдите и импортируйте TIdHTTPServer и TIdWebSocketServer из раздела ICS.
Перетащите TIdHTTPServer и TIdWebSocketServer на форму. Установите свойства серверов следующим образом:
Двойным щелчком на 'IdWebSocketServer1' откройте обработчик события OnConnect. Добавьте следующий код для отправки приветственного сообщения новому клиенту:
Также добавьте обработчик события OnMessage для получения сообщений от клиента:
Добавьте кнопку на форму и свяжите с ней обработчик события OnClick. В обработчике запустите сервер:
Для тестирования сервера вы можете использовать любой веб-клиент, поддерживающий WebSockets, например, браузер с расширением WebSocket Tester (https://addons.mozilla.org/en-US/firefox/addon/websocket-tester/). Подключитесь к серверу по адресу http://localhost:8080 и отправьте сообщение. Вы должны увидеть приветственное сообщение от сервера и сообщение, полученное сервером, в окне вывода. Поддержка SSL/TLS Для поддержки SSL/TLS нам нужно добавить сертификат в наше приложение и указать его в свойствах сервера. Сделайте следующее:
Вам нужен сертификат для вашего домена. Если у вас нет сертификата, вы можете создать самоподписанный сертификат для локального тестирования. Для этого воспользуйтесь утилитой makecert из пакета Microsoft Windows SDK.
Скопируйте полученный сертификат в директорию проекта. В нашем примере мы будем использовать сертификат 'myserver.crt'.
Установите свойство 'IdHTTPServer1' Secure Sockets Layer = True и CertFile = 'myserver.crt'. Также установите Port = 443 для использования стандартного порта SSL/TLS.
Обновите обработчик события Button1Click, чтобы запустить сервер с SSL/TLS:
Теперь ваш сервер WebSocket поддерживает tanto SSL/TLS, как и небезопасные подключения. Альтернативное решение Если вы хотите альтернативное решение, не использующее ICS, вы можете попробовать использование встроенных в Delphi компонентов для работы с HTTP и WebSockets. Однако, это потребует больше кода и настройки, чем использование ICS. Например, для создания простого сервера WebSocket без ICS, вы можете использовать TIdHTTPServer и TIdWebSocketServer из пакета Indy, который входит в состав Delphi. Однако, настройка и использование Indy требуют более глубокого понимания протоколов и компонентов. Заключение В этой статье мы рассмотрели, как создать простое демо-приложение сервера WebSocket с поддержкой SSL/TLS и без, используя ICS в Delphi. Мы использовали новый образец OverbyteIcsBasicWebServer.dpr и добавили обработчики событий для получения и отправки сообщений. Мы также рассмотрели альтернативное решение без использования ICS. Используя эти примеры, вы можете создавать более сложные серверы WebSocket для своих проектов. Описание создания простого демонстрационного сервера WebSocket с использованием Internet Component Suite (ICS) в среде разработки Delphi, включая поддержку SSL/TLS. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |