Skip to content

Instantly share code, notes, and snippets.

@kenkangxgwe
Last active August 30, 2022 08:42
Show Gist options
  • Save kenkangxgwe/30a65b5d172a6915d31e02cb7fe4d2ee to your computer and use it in GitHub Desktop.
Save kenkangxgwe/30a65b5d172a6915d31e02cb7fe4d2ee to your computer and use it in GitHub Desktop.
ZeroMQLink Server read message issue
const net = require('node:net');
const serverPort = 7570;
const host = "127.0.0.1";
function connectServer() {
const client = net.connect(serverPort, host);
client.on('error', (err) => {
setTimeoutInterval(connectServer, 1000);
});
return client;
}
const client = connectServer();
client.write("test");
const net = require('node:net');
const serverPort = 7570;
function startCommunication(client) {
client.on('data', function (chunk) {
process.stdout.write(chunk);
});
}
const server = net.createServer((connection) => {
startCommunication(connection);
});
server.on('error', (err) => {
throw err;
});
server.listen(serverPort);
server = SocketOpen[7570]
While[server["ConnectedClients"] === {}, Pause[0.1]]
server["ConnectedClients"] // Map[SocketReadMessage/*ByteArrayToString]
(* I know that the following works, but shouldn't SocketReadMessage also work before the socket is ever read? *)
(* SocketListen[7570, Echo[#Data]&] *)
@kenkangxgwe
Copy link
Author

Steps to show expected behavior:

  • In terminal 1,
    node server.js
  • In terminal 2,
    node client.js

Expected behavior

Terminal 1 shows

test

Steps to show actual behavior:

  • In terminal 1,
    wolframscript -file server.wl
  • In terminal 2,
    node client.js

Actual behavior

Terminal 1 shows nothing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment