最近想在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();
然后分别运行
最后附上官网链接,一起学习