nodejs使用ZeroMQ进行消息通信

本文介绍了如何使用ZeroMQ作为消息通信中间件,在 Electron 应用和 Python 进程间建立通信。通过创建 Node.js 的 server.js 和 client.js 文件,展示了如何建立服务器端监听和客户端发送请求的示例。ZeroMQ的教程详细,能够有效解决兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近想在electron和python之间做通信,了解一些消息通信中间件,最终选定ZeroMQ进行通信(因为官网有很详细的教程)

首先创建一个node项目,打开任意文件夹后

npm init -y

安装ZeroMQ,新版可以解决很多不兼容问题,使用淘宝镜像cnpm安装成功率大点

cnpm install zeromq@6.0.0-beta.6

示例

新建一个server.js

//  Hello World server
//  Binds REP socket to tcp://*:5555
//  Expects "Hello" from client, replies with "World"

const zmq = require('zeromq');
// console.log('zmq', zmq)
async function runServer() {
  const sock = new zmq.Reply();

  await sock.bind('tcp://*:5555');

  for await (const [msg] of sock) {
    console.log('Received ' + ': [' + msg.toString() + ']');
    await sock.send('World');
    // Do some 'work'
  }
}

runServer();

再建一个client.js

//  Hello World client
const zmq = require('zeromq');

async function runClient() {
  console.log('Connecting to hello world server…');

  //  Socket to talk to server
  const sock = new zmq.Request();
  sock.connect('tcp://localhost:5555');

  for (let i = 0; i < 10; i++) {
    console.log('Sending Hello ', i);
    await sock.send('Hello');
    const [result] = await sock.receive();
    console.log('Received ', result.toString(), i);
  }
}

runClient();

然后分别运行

 最后附上官网链接,一起学习

ZeroMQ官网

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值