Вы пишете на Node.js сервер, который принимает входящие TCP-соединения и ведет нетривиальный диалог с клиентами по нестандартному протоколу? Возможно, вас заинтересует пример, который я разрабатываю в своих проектах.
Что я подразумеваю под нетривиальным диалогом? Давайте сравним.
Удаленный датчик температуры, который связывается с сервером и после установления соединения записывает в сокет несколько байт своего идентификатора, а затем несколько байт текущей температуры — это примитив.
Тот же датчик, который может получать команды от сервера на изменение частоты измерений или периода усреднения измеряемой величины, уже сложнее.
Добавьте к этому, например, функционал отправки обновлений прошивки на датчик и код запросто может потерять лаконичность.
В таких случаях я организую свой код в стиле «конечного автомата», не претендуя, однако, на соответствие канонам теории автоматов.
Пример этой статьи размещен здесь: github.com/kityan/fsmConnection .
Ниже я объясню несколько ключевых моментов.
Основной код приложения.
Рассмотрим только серверную часть.
Код очень прост:
Теги: #node.js #node.js #fsm #конечный автомат #JavaScript #node.jsvar net = require('net'); var ClientConnection = require('.
/ClientConnection.js'); var config = {"socketTimeout":3000, "port": 30000} net.createServer(function(socket) {var clientConnection = new ClientConnection(socket, config);})
-
Восстановление Outlook: Эффективные Средства
19 Oct, 24 -
Очиститель Реестра Компьютера
19 Oct, 24 -
Эпик, Эрнст Юлиус
19 Oct, 24 -
Как Выглядит Работа It-Специалиста Изнутри?
19 Oct, 24 -
Роль Сна В Контексте Личной Эффективности
19 Oct, 24 -
Вывод На Вебмани С Раннера
19 Oct, 24