Skip to content

Необходимо разработать систему обмена текстовыми сообщениями/файлами в реальном времени, состояющую из трех уровней: прикладной, транспортный и канальный. Каждый из уровней реализуется отдельным веб-сервисом.

License

Notifications You must be signed in to change notification settings

mightyK1ngRichard/coursework-bmstu-2024-websocket-service

Repository files navigation

RealTimeMassengerAPI

WebSocket server for iOS application

Введение

Прикладной уровень в архитектуре мессенджера выполняет задачу по созданию текстовых сообщений и передачей данных на транспортный уровень. WebSocket сервер прикладного уровня написан на языке Swift и фреймворке VAPOR. Взаимодействие с транспортным уровнем происходит при помощи REST API. Взаимодействие мобильного приложения с WS сервером происходит через WebSocket протокол. Мобильное приложение написано при использовании фреймворка SwiftUI. Взаимодействие прикладного уровня с остальными компонентами системы отражено на диаграмме последовательности

Пользователь вводит своё имя в текстовое поле, тем самым создавая WebSocket соединение с WS сервером. При успешном соединении пользователь отправляется на экран чата, где, используя поле ввода, пользователь может ввести текст сообщения, который передаётся по WebSocket соединению на WS сервер. WS сервер же преобразует объект типа string в json объект и по HTTP протоколу передаёт объект транспортному уровню. Когда WS сервер получает данные от транспортного по HTTP протоколу, WS сервер отправляет данные на сторону клиента.

About

Необходимо разработать систему обмена текстовыми сообщениями/файлами в реальном времени, состояющую из трех уровней: прикладной, транспортный и канальный. Каждый из уровней реализуется отдельным веб-сервисом.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published