2015-09-20 60 views
1

我是新來的nodejs,我需要建立一個正常運行時間監視系統,使用TCP服務器和客戶端和keepalive連接。目前我試圖建立這個系統的基礎,但服務器不顯示來自客戶端的任何消息。任何想法,我犯了一個錯誤?nodejs簡單的TCP聊天,服務器沒有客戶端消息

服務器:

var net = require('net'); 

var server = net.createServer(function (conn) 
{ 
conn.write('Hello here server'); 
} 

).listen(1234); 

server.on('data', function (data) 
{ 
console.log('client: ' + data); 
}); 

客戶端:

var net = require('net'); 

    var client = net.connect({port: 1234}, function(){ 
    console.log('client connect'); 
    }); 
    client.setEncoding('utf8'); 

    client.write('hello here client'); 

    client.on('data', function (data) 
    { 
     console.log('server: ' + data); 


    }); 

任何想法,爲什麼服務器不會獲得客戶端發送消息的任何輸出?您可能會看到,它與聊天幾乎相同,但我最終需要使用保持連接。

回答

0

更改你的服務器監聽createServer內部的數據:

var net = require('net'); 

var server = net.createServer(function (conn) { 
    conn.write('Hello here server'); 

    conn.on('data', function (data) { 
     console.log('client: ' + data); 
    }); 
} 

).listen(1234); 
+0

很好,謝謝,做工精細。在我停止客戶端後,服務器收到了一個錯誤事件'events.js:141 throw er; //未處理的 '錯誤' 事件 ^ 錯誤:在exports._errnoException讀ECONNRESET (util.js中:837:11) 在TCP.onread(net.js:544:26)'任何想法如何獲得服務器沒有關閉,客戶端斷開後?服務器可以處理多個客戶端嗎? –

+0

什麼錯誤?請考慮接受答案,如果它解決了你的問題。 –

+0

接受答案,將爲此打開一個新的問題案例,謝謝! –