Wie fügt neue-Zeile-Zeichen in node.js?

Ich bin neu node.js und ich versuche, ein Programm zu schreiben, dass http-Anforderungen empfängt und übermittelt die Inhalte über eine socket. Am anderen Ende der Buchse ist ein paging-system-Nachrichten beendet mit einem neue-Zeile-Zeichen. So weit, es funktioniert gut, außer es gibt eine zusätzliche Nachricht geschickt mit dem Inhalt: undefined.

Wenn ich drucken Sie den Inhalt von pager-Nachricht an den client-browser wird es nicht angezeigt zu sein, eine neue Zeile. Tue ich das richtige?

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: ich habe verengt es nach unten weiter. Es stellt sich heraus, dass, wenn ich tun:

var page = 'FPG,101,0,3!A' + 'hello' + '\n';

Funktioniert es okay. Also die Ausgabe von uri.split("=") müssen nicht sein, was ich erwarte.

Wenn du dir den Verkehr mit Wireshark, sehen Sie nachfolgende Zeilenumbrüche? Brauchen Sie, um zu senden \r\n statt nur \n?
Nein, ich habe diese Arbeit in einer anderen Anwendung, indem Sie einfach senden \n, damit ich weiß, dass ist alles was ich brauche.

InformationsquelleAutor David | 2012-05-04

Schreibe einen Kommentar