2
我試圖創建一個NodeJS TCP服務器,它將讀取到客戶端輸入並相應地執行操作。讀取NodeJS TCP服務器中的客戶端數據輸入
我想知道如何讀取數據,因此我可以設置條件來執行過程。
var net = require('net');
var server = net.createServer(function (socket) {
socket.on('data', function(data) {
buf = new Buffer(256);
len = buf.write(data.toString());
if (buf.toString('utf8', 0, len) === "test"){
console.log("you typed test");
}
console.log(len + " bytes: " + buf.toString('utf8', 0, len));
});
socket.write("Connected to server.\r\n");
});
server.listen(8080, "127.0.0.1");
我這裏輸出輸入的值: console.log(len + " bytes: " + buf.toString('utf8', 0, len));
但我如果該日誌上面的說法,心不是匹配值「測試」當我真正鍵入客戶終端窗口「測試」。
任何幫助表示讚賞
克里斯
數據的接收在''data''事件被分塊,所以你需要建立緩衝區。然後你可以在''end''事件上執行你的測試。看到這個問題http://stackoverflow.com/questions/6412944/node-js-read-in-buffered-data – 2012-07-20 00:49:27
@scriptfromscratch爲什麼不加,作爲一個答案,因此它可以,如果它是正確的被接受? – 2012-07-20 06:35:56
純粹缺乏時間@JoachimPileborg。我寧願在我的答案中留下代碼示例,但我不得不用完辦公室:) – 2012-07-20 18:29:26