【问题标题】:socket.io server not listening to connection event (express server)socket.io 服务器未监听连接事件(快速服务器)
【发布时间】:2017-02-27 00:37:14
【问题描述】:

我一直在抨击几个指南以及他们的文档,似乎我做的一切都是正确的。我希望当我导航到 localhost:8080 时会触发连接事件并且应该出现我的 console.log 消息。

// modules =================================================
var express = require('express'),
    app = express(),
    server = require('http').createServer(app),
    io = require('socket.io')(server),
    bodyParser = require('body-parser'),
    methodOverride = require('method-override')
;

// config files ============================================
var db = require('./config/db');

// configuration ===========================================
app.use(bodyParser.json());
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); 
app.use(methodOverride('X-HTTP-Method-Override')); 

app.use(express.static(__dirname + '/public'));

// routes  =================================================
require('./app/routes')(app);


io.on('connection', function(){
    console.log("Why won't this display anything");
});

// set port && listen
var port = process.env.PORT || 8080;
server.listen(port);
console.log('Server connected on port ' + port);

exports = module.exports = app;

【问题讨论】:

  • 您有哪些客户端代码在您的网页中建立 socket.io 连接?客户端页面是否显示任何错误?
  • 啊哈!就是这样。我想我有点超前了,我认为这部分在我听io.sockets.on事件之前并不重要。
  • 我把var socket = new io.Socket('localhost',{'port':8080}); socket.connect();改成了var socket = io.connect();

标签: node.js express socket.io


【解决方案1】:

要在服务器上查看 socket.io 连接,您需要在网页中创建用于创建 socket.io 连接的客户端代码。

通常看起来像这样:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io();
  // do more things with the connection here
</script>

【讨论】:

    猜你喜欢
    • 2016-07-17
    • 2021-02-28
    • 2011-09-28
    • 2016-07-14
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 2022-12-26
    • 2012-12-29
    相关资源
    最近更新 更多