socket.io-.on在客户端不起作用

时间:2018-10-31 15:32:08

标签: node.js sockets websocket socket.io

我有一些使用socket.io的非常基本的代码

客户

var socket = io();

// Do some stuff...

socket.emit('hello', 'please like me');

// Wait for a response
socket.on('hello back!', function(msg) {
    console.log('Yay, he replied:', msg);
});

服务器

var app = require('express');
var http = require('http').Server(app);
var io = require('socket.io')(http);

io.on('connection', function(socket) {
    console.log('a user connected');

    socket.on('disconnect', function() {
        console.log('user disconnected');
    });

    socket.on('hello', function() {
        // Code to decide wether or not I like the client
        // ...
        // I do like the client!
        socket.emit('hello back!', 'how are you');
        console.log('I said hello back!');
    });
});

希望您设法得到了图片。所以理想情况下,会发生这种情况:

  1. 客户端连接
  2. 过一会儿,客户发出hello
  3. 服务器看到此消息,发出hello back!
  4. 客户注意到hello back!事件
  5. 每个人都很开心!

但是不幸的是,对我而言并非如此。而是,步骤1-3可以完美地工作。但是,当您到达第4步和第5步时,事情开始崩溃。发生hello back!事件后,客户端从不记录任何内容。

这不是我的完整代码,我认为这样做会使您更容易理解它。我很可能在某个地方犯了一些愚蠢的错误,也许没有在代码中包含它。但是请让我知道我的所作所为是否有根本错误。

欢呼

0 个答案:

没有答案