【发布时间】:2012-05-13 13:01:04
【问题描述】:
我是 node.js 的新手,我正在尝试编写一个程序来接收 http 请求并通过套接字转发内容。在套接字的另一端是一个分页系统,它需要以换行符终止的消息。到目前为止,它工作正常,除了发送了一条带有内容的额外消息:undefined。
当我将寻呼消息的内容打印到客户端的浏览器时,似乎没有换行。我这样做对吗?
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 查看流量,您是否看到尾随的换行符?您是否需要发送
\r\n而不仅仅是\n? -
不,我只需发送 \n 就可以在另一个应用程序中使用它,所以我知道这就是我所需要的。
标签: javascript sockets node.js pager