【发布时间】:2016-06-27 10:09:48
【问题描述】:
我对 nodejs 很陌生,对 socket.io 和 express 也很陌生。我有一些正在运行的代码,但无法准确理解其运行的原因。
我对以下代码的问题是 express 应用程序如何知道监听端口 80?有一个服务器。听。但是代码中没有app.listen。然而 app.post() 很容易接受发布的数据。
请考虑以下代码
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
}
【问题讨论】: