想象一下,我有5个NodeJS服务器运行一些随机操作(例如接收数据 - 该操作意味着客户端与服务器连接)。现在我想创建一个第6个NodeJS服务器。我希望5个服务器与这个新服务器连接,当新客户端与5个服务器之一连接时,他们将发送消息来告诉该故事(到第6个服务器)。如何在NodeJS服务器之间共享消息?
我的尝试: 第6个NodeJS服务器:
binaryServer = BinaryServer({ port: 9003}); //Stream de Entrada
binaryServer.on('connection', function (client) {
console.log(client.id);
client.on('stream', function (stream, meta) {
console.log(client.id +"||" +stream.id);
console.log(meta);
console.log(meta);
stream.on('data', function(data){
console.log(data);
stream.write("Recebi-----> "+data);
})
stream.on('end', function () {
console.log("end");
});
stream.on('error', function (error) {
console.log(error);
});
stream.on('pause', function () {
console.log("pause");
});
stream.on('resume', function () {
console.log("resume");
});
});
client.on('close', function(){
console.log("close: "+client.id);
});
});
5个服务器之一:
binaryclient = BinaryClient('ws://localhost:9003');
//(.....)
binaryclient.on('open', function() {
console.log("opened connection");
StreamC = binaryclient.createStream("dasda");
StreamC.write("Somethin like" + total_clients);
StreamC.on('data', function(data){
console.log(data);
});
StreamC.on('error', function (error) {
console.log(error);
});
});
使用documentation 给出这个错误: 使用服务器端代码在NodeJS中“错误:收听EADDRINUSE”。
答案 0 :(得分:-1)
关于可能的解决方案是答案。我的错误很简单......因为我做了代码复制,我在两个服务器的同一个端口定义了httserver。这就是错误发生的原因。尽管有一种可能的方法是使用BinaryJS