[英]Exchanging messages between Node.js and Delphi app
我有 2 個應用程序,1 個大型 Delphi Windows 應用程序和 1 個小型 Node.js 應用程序。 我希望 Node.js 應用程序根據從實時服務接收到的輸入向 Delphi 應用程序發送不同的消息。
我現在的問題是,如何開始在這兩個應用程序之間交換消息 - 如何將消息從 Node.js 發送到 Delphi 應用程序?
我自己一直在做一些研究,但沒有得到任何明確的答案,盡管如果我希望實時發送這些消息,WebSockets 似乎是唯一的解決方案?
我嘗試使用 socket.io 為我的 Node.js 應用程序編寫一些代碼,讓您了解我想要什么:
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 ,但我不知道這是否可行。
希望任何人都可以給我一些建議。
如何從 Node.js 向 Delphi 應用程序發送消息?
您可以在 Delphi 應用程序中運行嵌入式 HTTP 服務器(例如 Indy TIdHTTPServer),使其能夠接收來自 JS 應用程序的 HTTP 請求。
或者 - 如果您更喜歡冒險 - 您還可以設計自己的協議並在 Delphi 應用程序中運行嵌入式 TCP 服務器 (Indy TIdTCPServer)。
除了 HTTP,還有其他用於消息交換的協議和庫。 一種可用於 Delphi 和 nodejs 的是 0MQ (ZeroMQ):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.