2015-12-05 65 views
1

想象一下,我有5個NodeJS服務器運行一些隨機操作(例如接收數據 - 操作意味着客戶端與服務器連接)。現在我想創建一個第6個NodeJS服務器。我希望5臺服務器與這臺新服務器連接,並且當一臺新客戶端與5臺服務器中的一臺連接時,他們會發送一條消息告訴該故事(到第6臺服務器)。我如何在NodeJS服務器之間共享消息?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); 

    }); 

}); 

其中5servers的:使用Binarjs

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); 
    }); 

    }); 

是給這個錯誤: 「錯誤:聽EADDRINUSE」 與的NodeJS服務器端代碼。

+0

我可能認爲它不可能通過節點js的buit,但我想可能你會需要爲它寫一些api並在服務器之間共享它 –

+2

「我該怎麼分享NodeJS服務器之間的消息?「 - 有許多不同的方式(投票由於範圍過寬而關閉,因爲它過於寬泛),但一個簡單,明顯但效率低下的方法是監聽和發送HTTP請求。 – Quentin

+0

用新方法編輯 – carduh

回答

-1

在可能的解決方案是在答案。我的錯誤非常簡單...因爲我做了代碼複製,我在兩臺服務器的相同端口中定義了httserver。那就是錯誤發生的原因。儘管所有的一種可能的方式是使用BinaryJS

相關問題