Разработка TCP-чата с использованием фреймворка Electron | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 11 мая, печатный экземпляр отправим 15 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №3 (450) январь 2023 г.

Дата публикации: 21.01.2023

Статья просмотрена: 62 раза

Библиографическое описание:

Орлов, И. А. Разработка TCP-чата с использованием фреймворка Electron / И. А. Орлов. — Текст : непосредственный // Молодой ученый. — 2023. — № 3 (450). — С. 13-16. — URL: https://moluch.ru/archive/450/99239/ (дата обращения: 02.05.2024).



В статье рассматривается разработка серверной части TCP чата на языке JavaScript с использованием node.js и клиентской части TCP чата c использованием фреймворка Electron.

Ключевые слова: JavaScript, Node.js, Electron, TCP протокол.

Фреймворк Electron

Фреймворк Electron разработан компанией GitHub. Данный фреймворк предоставляет возможность разрабатывать настольные графические приложения с использованием возможностей браузера Chromium и Node.js [1].

Одним из главных преимуществ Electron является его кроссплатформенность. Приложения, разработанные с использованием Electron, поддерживаются следующими операционными системами: macOS, Windows, Linux [1].

Node.js — программная платформа расширяющая возможности языка JavaScript, содержащая множество библиотек, которые упрощают разработку приложений. При использовании Node.js используется событийно-ориентированное и асинхронное программирование [2].

TCP (Transmission Control Protocol) — данный протокол передачи данных устанавливает предварительное соединение, осуществляет повторный запрос данных в случае потери и может устранять дублирование двух копий одного пакета, тем самым гарантирует целостность передаваемых данных.

Для реализации TCP соединения на языке программирования JavaScript существует библиотека Socket.IO. Данная библиотека обеспечивает канал связи между клиентом и сервером с низкими задержками [3].

Устройство TCP чата

Для того чтобы обеспечить общение между пользователями, необходимо создать серверную и клиентскую части чата.

Серверная часть чата обрабатывает подключение пользователей, переадресовку сообщений между пользователями, хранит историю сообщений.

Клиентская часть предназначена непосредственно для выбора адресата и набора текста сообщения.

Соединение между клиентом и сервером устанавливается про протоколу TCP. Для его реализации в коде будет использоваться библиотека Socket.IO. Клиентская часть для удобства пользователя должна иметь графический интерфейс. Поэтому для её создания используется фреймворк Electron.

Пользовательская часть TCP чата

На рис. 1 представлен вид пользовательской части TCP чата.

Вид пользовательской части TCP чата

Рис. 1. Вид пользовательской части TCP чата

На рис. 1 видно, что в данный момент онлайн пользователь с именем Andrey. По нажатию на клавишу Enter или значок отправки, введённое сообщение будет отправлено на сервер. В структуру сообщения входит имя отправителя, адресат и текст сообщения.

Серверная часть TCP чата

Схема алгоритма работы серверной части представлена на рис. 2.

Схема алгоритм серверной части чата

Рис. 2. Схема алгоритм серверной части чата

При запуске сервера инициализируется объект библиотеки Socket.IO. Далее сервер ожидает подключения пользователей. Как только пользователь подключился программа добавляет его имя в список со всеми онлайн пользователями и производит отправку данного списка всем остальным пользователям чата, если такие имеются. При отключении пользователя (закрытие клиентской части чата) пользователь удаляется из списка со всеми пользователями и производится отправка данного списка всем пользователям.

Как только подключённый пользователь отправил сообщение на сервер, программа определяет адресата (информация содержится в отправленном сообщении от пользователя) и пересылает сообщение. Искать пользователя в списке со всеми пользователями не нужно, так как у клиента гарантированно отображаются только онлайн пользователи чата.

Литература:

  1. Документация к Electron: [Электронный ресурс]. URL: https://www.electronjs.org/docs/latest. (Дата обращения: 17.01.2023).
  2. Документация к Node.js: [Электронный ресурс]. URL: https://nodejs.org/docs/latest-v17.x/api/. (Дата обращения: 16.01.2023).
  3. Документация к Socket.IO: [Электронный ресурс]. URL: https://socket.io/docs/v4/ (Дата обращения: 17.01.2023).
Основные термины (генерируются автоматически): TCP, клиентская часть, пользователь, пользовательская часть, серверная часть, чат, онлайн пользователь, подключение пользователей, сервер, серверная часть чата.


Ключевые слова

JavaScript, electron, Node.js, TCP протокол

Похожие статьи

Создание клиент-серверного приложения на основе restful api...

Создать серверную часть приложения с подобной архитектурой.

Схема работы такого сервера с RESTful API архитектурой отображена на рисунке 1.

Упрощенная схема работы подобного клиентского приложения изображена на рисунке 2. [4].

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

Разработка автоматизированной системы регистрации пациентов...

Серверная часть отвечает за одновременную работу группы пользователей, за

Клиентская часть представляет собой веб-браузер, работающий на устройстве пользователя.

Пользовательская часть сайта является клиентской частью системы и предоставляет

Связь между клиентом и сервером осуществляется при помощи протокола TCP/IP и HTTP, то...

Протоколы POP, IMAP, SMTP: основные принципы и применение

Работа службы электронной почты работает по принципу «клиент-сервер», а непосредственно связь между почтовым сервером и пользователем определяется почтовым протоколом (рис. 1). На данный момент наиболее распространенными являются протоколы POP3, IMAP и SMTP.

Выбор языка программирования для разработки серверной части...

На Linux сервере намного дешевле; – Производительность; – Инструменты для разработки

При разработке информационной системы, у которой будет много пользователей и

позволит быстро и качественно разработать серверную часть веб-приложения.

годах и до сих пор встречается во многих системах от настольных веб-приложений до серверной инфраструктуры.

Сети Profinet | Статья в журнале «Молодой ученый»

Некоторые части телеграммы Profinet используются для каких-то соб-ственных целей (Например, есть часть Ethernet, которая отвечает за вирту-альную сеть VLan-ID. Данная часть телеграммы является той частью, кото-рая используется Profinet для собственных целей.

Клиент-серверные системы состоят из клиентской части...

Для обмена данными между серверной и клиентскими частями автоматизированной

Для такого типа систем принято использовать совокупность двух приложений: сервер и клиент. Доступ к базе данных имеет только серверное приложение, а клиентские приложения — к

Пользовательский интерфейс системы имеет стандартную цветовую гамму, используемую...

Обзор систем обмена сообщениями | Статья в журнале...

ДОБРО ПОЖАЛОВАТЬ В МИР APACHE KAFKA ЧАСТЬ 2, http

RIPE, Кбит, TCP, FTP, пропускная способность, удаленный сервер, HTTP, ICMP, RTT, SIGCOMM.

– Собственные C и Java API для быстрой разработки пользовательских клиентских

по максимальной защите персонального компьютера подключенного к сети и личных данных пользователя этого.

Подходы к архитектурному проектированию веб-приложений

Клиентская часть, как указано на картинке, использует библиотеку React для вывода получаемых от серверной части данных.

Клиентом может быть и Vue.js, и Angular, и «чистый» JS, а серверная часть может быть написана на Java, NET, C#, C++ и других языках.

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

Их неотъемлемой частью является глобальная сеть Internet.

Помимо этого в Cookies хранится зашифрованный пароль, под которым пользователь входит на

К тому же XSS атака наносит вред исключительно клиентским машинам, оставляя сервер в полностью рабочем

В случае использования некоторых серверных приложений (таких как Web-сервер или FTP-сервер)...

Похожие статьи

Создание клиент-серверного приложения на основе restful api...

Создать серверную часть приложения с подобной архитектурой.

Схема работы такого сервера с RESTful API архитектурой отображена на рисунке 1.

Упрощенная схема работы подобного клиентского приложения изображена на рисунке 2. [4].

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

Разработка автоматизированной системы регистрации пациентов...

Серверная часть отвечает за одновременную работу группы пользователей, за

Клиентская часть представляет собой веб-браузер, работающий на устройстве пользователя.

Пользовательская часть сайта является клиентской частью системы и предоставляет

Связь между клиентом и сервером осуществляется при помощи протокола TCP/IP и HTTP, то...

Протоколы POP, IMAP, SMTP: основные принципы и применение

Работа службы электронной почты работает по принципу «клиент-сервер», а непосредственно связь между почтовым сервером и пользователем определяется почтовым протоколом (рис. 1). На данный момент наиболее распространенными являются протоколы POP3, IMAP и SMTP.

Выбор языка программирования для разработки серверной части...

На Linux сервере намного дешевле; – Производительность; – Инструменты для разработки

При разработке информационной системы, у которой будет много пользователей и

позволит быстро и качественно разработать серверную часть веб-приложения.

годах и до сих пор встречается во многих системах от настольных веб-приложений до серверной инфраструктуры.

Сети Profinet | Статья в журнале «Молодой ученый»

Некоторые части телеграммы Profinet используются для каких-то соб-ственных целей (Например, есть часть Ethernet, которая отвечает за вирту-альную сеть VLan-ID. Данная часть телеграммы является той частью, кото-рая используется Profinet для собственных целей.

Клиент-серверные системы состоят из клиентской части...

Для обмена данными между серверной и клиентскими частями автоматизированной

Для такого типа систем принято использовать совокупность двух приложений: сервер и клиент. Доступ к базе данных имеет только серверное приложение, а клиентские приложения — к

Пользовательский интерфейс системы имеет стандартную цветовую гамму, используемую...

Обзор систем обмена сообщениями | Статья в журнале...

ДОБРО ПОЖАЛОВАТЬ В МИР APACHE KAFKA ЧАСТЬ 2, http

RIPE, Кбит, TCP, FTP, пропускная способность, удаленный сервер, HTTP, ICMP, RTT, SIGCOMM.

– Собственные C и Java API для быстрой разработки пользовательских клиентских

по максимальной защите персонального компьютера подключенного к сети и личных данных пользователя этого.

Подходы к архитектурному проектированию веб-приложений

Клиентская часть, как указано на картинке, использует библиотеку React для вывода получаемых от серверной части данных.

Клиентом может быть и Vue.js, и Angular, и «чистый» JS, а серверная часть может быть написана на Java, NET, C#, C++ и других языках.

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

Их неотъемлемой частью является глобальная сеть Internet.

Помимо этого в Cookies хранится зашифрованный пароль, под которым пользователь входит на

К тому же XSS атака наносит вред исключительно клиентским машинам, оставляя сервер в полностью рабочем

В случае использования некоторых серверных приложений (таких как Web-сервер или FTP-сервер)...

Задать вопрос