Обмен сообщениями между Node.js и приложением Delphi - PullRequest
0 голосов
/ 30 августа 2018

У меня есть 2 приложения, 1 большое приложение Delphi для Windows и 1 крошечное приложение Node.js. Я хочу, чтобы приложение Node.js отправляло разные сообщения в приложение Delphi в зависимости от входных данных, полученных от службы реального времени.

Теперь у меня вопрос, как мне начать обмен сообщениями между этими двумя приложениями - как отправлять сообщения из Node.js в приложение Delphi?

Я сам проводил некоторые исследования, но не получил четких ответов, хотя кажется, что WebSockets кажется единственным решением, если я хочу, чтобы эти сообщения отправлялись в реальном времени?

Я попытался написать код для моего приложения Node.js, используя socket.io, чтобы дать вам представление о том, что я хочу:

const Realtime = require("ably").Realtime;
const server = require("http").createServer(handler);
const io = require("socket.io")(server);

server.listen(80);

io.on("connection", (socket) => {
    console.log("Connected!");
    socket.on('event-1', function (data) {
        // alert Delphi app about event
    });
});

const client = new Realtime('XXXXX');

client.connection.on("connected", () => {
    console.log("Realtime connected!");
});

function handler(req, res) {
    console.log("Got em");
}

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

Я также искал библиотеки для WebSockets для Delphi, но нашел только это https://www.esegece.com/websockets/download,, но я понятия не имею, возможно ли это или нет.

Надеюсь, кто-нибудь может дать мне совет.

1 Ответ

0 голосов
/ 30 августа 2018

как отправлять сообщения из Node.js в приложение Delphi?

Вы можете запустить встроенный HTTP-сервер (например, Indy TIdHTTPServer) в приложении Delphi, что позволяет ему получать HTTP-запросы от приложения JS.

Или - если вы более предприимчивы - вы также можете создать свой собственный протокол и запустить встроенный TCP-сервер (Indy TIdTCPServer) в приложении Delphi.

Помимо HTTP, существуют другие протоколы и библиотеки для обмена сообщениями. Для Delphi и nodejs доступно 0MQ (ZeroMQ):

https://github.com/zeromq/zeromq.js/

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