WebSocket server for iOS application
Прикладной уровень в архитектуре мессенджера выполняет задачу по созданию текстовых сообщений и передачей данных на транспортный уровень. WebSocket сервер прикладного уровня написан на языке Swift и фреймворке VAPOR. Взаимодействие с транспортным уровнем происходит при помощи REST API. Взаимодействие мобильного приложения с WS сервером происходит через WebSocket протокол. Мобильное приложение написано при использовании фреймворка SwiftUI. Взаимодействие прикладного уровня с остальными компонентами системы отражено на диаграмме последовательности
Пользователь вводит своё имя в текстовое поле, тем самым создавая WebSocket соединение с WS сервером. При успешном соединении пользователь отправляется на экран чата, где, используя поле ввода, пользователь может ввести текст сообщения, который передаётся по WebSocket соединению на WS сервер. WS сервер же преобразует объект типа string в json объект и по HTTP протоколу передаёт объект транспортному уровню. Когда WS сервер получает данные от транспортного по HTTP протоколу, WS сервер отправляет данные на сторону клиента.