/ / RangeError: Ungültiger Statuscode: 0, NodeJS ZeroMQ - Javascript, node.js, Websocket, zeromq

RangeError: Ungültiger Statuscode: 0, NodeJS ZeroMQ - javascript, node.js, Websocket, zeromq

Ich entwickle einen einfachen Knoten-API / Server, der Websockets verwendet, insbesondere ZeroMQ. Beim Senden / Anfordern von Daten erhalte ich jedoch die folgende Fehlermeldung:

RangeError: Ungültiger Statuscode: 0
at ServerResponse.writeHead (_http_server.js: 192: 11)

   var express = require("express");
var app = express();
var bodyParser = require("body-parser");
var server_port = "3000";

/** app settings **/
var zeromq = require("zeromq");
var socket = zeromq.socket("req");/* sends request */
var protocol = "tcp://";
var ip = "192.000.0.000"; //server
var socket_port = "9998";
var url = protocol + ip + ":" + socket_port;


app.use(bodyParser());

/** paths **/
app.post("/request", function (request, response) {
var command = request.body;

//connect to port
socket.connect(url, function (error) {
if (error) {
console.log("connection error : ", error);
process.exit(0);
}
});

//response to front end
socket.send(JSON.stringify(command));

//recieve request
socket.on("message", function (message) {

//output message to console
console.log("Recieved message @ : " + (new Date().toDateString()) + " : " + message.toString());

//send response
response.setHeader("Content-Type", "text/plain");
response.setHeader("Access-Control-Allow-Origin", "http://localhost:8888");
response.status(200).send(message);
});

});


/** start app **/
app.listen(server_port);

console.log("Server started on port: " + server_port);

CODE AKTUALISIERT: Jetzt bekomme ich:

Fehler: Es können keine Header gesetzt werden, nachdem sie gesendet wurden. at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js: 356: 11)

Antworten:

1 für die Antwort № 1

Ich vermute, dass Sie den Status 0 senden. Versuchen Sie es mit

res.status(200).send(<body>);