Ich bin ziemlich neu zu nodejs und sehr neu zu socket.io und express. Ich habe Code, der funktioniert, aber ich habe Probleme zu verstehen, warum er funktioniert.Socket.io mit Express, woher weiß die Express-App, auf welchen Port sie hören soll?
Meine Frage für den folgenden Code ist, wie kann die Express-App auf Port 80 hören? Es gibt einen server.listen. Aber es gibt keine app.listen im Code. Doch app.post() akzeptiert bereitgestellte Daten.
Bitte beachten Sie die folgenden Code
var https = require('https');
var url = require('url');
var fs = require('fs');
var bodyParser = require('body-parser');
var express = require('express');
var app = express();
//var io = require('socket.io');
var zlib = require('zlib');
app.use(bodyParser.urlencoded({extended: true }));
var options = {
key: fs.readFileSync('my.key'),
cert: fs.readFileSync('my.crt')
};
var serverPort = 80;
var server = https.createServer(options, app);
var io = require('socket.io')(server);
// log when the server is ready
server.listen(serverPort, function() {
console.log('Web socket server up and running at port %s', serverPort);
// this prints 80, as expected
});
app.post('/api', function (req, res) {
// working code is in here that receives the post variables and responds
}
Danke! Das macht es wirklich klar. So frustrierend, wenn etwas funktioniert und ich verstehe nicht warum. – Deltaxfx