【发布时间】:2017-06-13 01:24:59
【问题描述】:
我正在尝试在我的 api 中使用套接字。但是我在控制台中看不到日志。
我看到的唯一输出是:
[nodemon] restarting due to changes...
[nodemon] starting `node server.js`
We are live on8000
这是我的 server.js 文件:
// server.js
const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const bodyParser = require('body-parser');
const app = express();
const port = 8000;
var server = require('http').createServer(app);
var io = require('socket.io')(server);
const db = require('./config/db');
app.use(express.static(__dirname + '/../app'));
app.use(bodyParser.urlencoded({ extended: true }));
MongoClient.connect(db.url,(err,database) =>{
if (err) return console.log(err);
//check below line changed
require('./app/routes')(app, database);
app.listen(port,() => {
console.log("We are live on"+port);
});
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection',function(socket){
console.log('client connected');
socket.on('disconnect', function () {
console.log('disconnect');
});
});
})
index.html 是:
<!DOCTYPE html>
<html>
<head><title>Hello world</title></head>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
</script>
<body>Hello world</body>
</html>
我在网络浏览器上看到 Hello world,但在控制台日志上看不到“客户端已连接”。
【问题讨论】:
-
这就是我所拥有的。当控制台打印'We are live on8000''时,这是否意味着服务器已连接?你能告诉我如何连接到服务器吗?
-
@JaromandaX 在端口 3000 上调用 socket.io 会打印日志。但是在端口 8000 上调用它不会打印日志。你知道为什么吗?
标签: javascript node.js socket.io