31 lines
931 B
JavaScript
31 lines
931 B
JavaScript
const zmq = require('zeromq');
|
|
const fs = require('fs');
|
|
const address = 'tcp://127.0.0.1:12345';
|
|
let i = 1;
|
|
const run = async () => {
|
|
const fileName = "server.json";
|
|
let keyPair = null;
|
|
if (fs.existsSync(fileName)) {
|
|
keyPair = JSON.parse(fs.readFileSync("server.json"));
|
|
} else {
|
|
keyPair = zmq.curveKeyPair();
|
|
fs.writeFileSync("server.json", JSON.stringify(keyPair, null, 4));
|
|
}
|
|
var dealer = new zmq.Dealer({
|
|
curveServer: true,
|
|
curvePublicKey: keyPair.publicKey,
|
|
curveSecretKey: keyPair.secretKey,
|
|
});
|
|
dealer.connect(address);
|
|
setInterval(() => {
|
|
let msg = [[ "weatherinfo", i ]]; // + dealer.identity
|
|
i += 1;
|
|
console.log('send', msg);
|
|
dealer.send(msg);
|
|
}, 300);
|
|
console.log("receiving...");
|
|
for await (const [msg] of dealer) {
|
|
console.log("received: %s", msg.toString())
|
|
}
|
|
}
|
|
run(); |