我是新來的node.js,我試圖編寫一個接收http請求並通過套接字轉發內容的程序。在套接字的另一端是一個尋呼系統,它需要以一個新的行字符結尾的消息。到目前爲止,它工作正常,除了有一個額外的消息與內容發送:undefined
。如何在node.js中追加新的行字符?
當我將尋呼機信息的內容打印到客戶端的瀏覽器時,似乎沒有新行。我做對了嗎?
sys = require("sys"),
http = require("http"),
url = require("url"),
path = require("path"),
net = require("net");
socket = new net.Socket();
socket.connect(4000, '192.168.0.105');
var httpServer = http.createServer(function(request, response) {
var uri = String(url.parse(request.url).query);
var message = uri.split("=");
var page = 'FPG,101,0,3!A' + message[0] + '\n';
response.writeHead(200, {"Content-Type":"text/html"});
response.write('sending message: ' + page + " to pager");
response.end();
socket.write(page);
}).listen(8080);
sys.puts("Server running at http://localhost:8080/");
編輯:我進一步縮小了它。事實證明,如果我這樣做:
var page = 'FPG,101,0,3!A' + 'hello' + '\n';
它的作品沒關係。所以uri.split("=")
的輸出一定不是我所期望的。
如果您使用[Wireshark](http://en.wikipedia.org/wiki/Wireshark)觀看流量,請執行以下操作:你看到尾隨ne wlines?你需要發送'\ r \ n'而不是'\ n'嗎? – sarnold
不,我通過發送\ n在另一個應用程序中工作,所以我知道這就是我需要的。 – David