Soy nuevo en node.js y estoy intentando escribir un programa que recibe solicitudes http y reenvía los contenidos a través de un socket. En el otro extremo del socket, hay un sistema de paginación que necesita mensajes terminados con un nuevo carácter de línea. Hasta ahora, funciona bien, excepto que hay un mensaje adicional enviado con los contenidos: undefined
.¿Cómo agregar un nuevo carácter de línea en node.js?
Cuando imprime el contenido del mensaje de buscapersonas en el navegador del cliente, no parece haber una nueva línea. ¿Lo estoy haciendo bien?
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/");
EDITAR: He reducido aún más. Resulta que si lo hago:
var page = 'FPG,101,0,3!A' + 'hello' + '\n';
Funciona bien. Entonces la salida de uri.split("=")
no debe ser lo que estoy esperando.
Si mira el tráfico con [Wireshark] (http://en.wikipedia.org/wiki/Wireshark), haga ves ne atras wlines? ¿Necesita enviar '\ r \ n' en lugar de simplemente' \ n'? – sarnold
No, lo tengo trabajando en otra aplicación simplemente enviando \ n, así que sé que eso es todo lo que necesito. – David