Я новичок в 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/");
EDIT: Я сузил его дальше. Оказывается, если я это сделаю:
var page = 'FPG,101,0,3!A' + 'hello' + '\n';
Все работает нормально. Поэтому выход uri.split("=")
не должен быть тем, что я ожидаю.
Если вы просматриваете трафик с помощью [Wireshark] (http://en.wikipedia.org/wiki/Wireshark), сделайте вы видите trailing ne wlines? Вам нужно отправить '\ r \ n' вместо' \ n'? – sarnold
Нет, я получил эту работу в другом приложении, просто отправив \ n, поэтому я знаю, что это все, что мне нужно. – David