节点服务器无法接收来自 Socket.IO 的消息

Node server cannot receive message from Socket.IO

我无法从客户端向服务器发送 "hi" 消息。套接字已连接,当在客户端建立连接时,我收到一条消息。但是当我尝试向服务器发回消息时,它不起作用。

Android和HTML我都试过了。所以我很确定它是服务器。

节点

var socket = require('socket.io');
var io;
module.exports = {
    initialize: function(server) {
        io = socket.listen(server);
        io.on('connection', function(socket) {
            socket.emit('message');
            console.log('connected to socket');
        });
        io.on('hi', function(message) {
            console.log(message);
        });
    }
}

HTML

doctype html
html
    head
        title Example
        script(src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js')
        script(src='/socket.io/socket.io.js')
        script(type"text/javascript").
            var socket = io.connect('http://localhost:3000')

            socket.on('message', function(data){
                console.log('receive message from server on webpage');
            });
    body
        div.container
            header
                h1 Socket Test
                button#hiButton Send Hi 
    footer
        script(type"text/javascript").
            $('#hiButton').click(function(){
                socket.emit('hi', 'send hi to server from webpage');
            });

找到答案

var socket = require('socket.io');
var io;
module.exports = {
    initialize: function(server) {
        io = socket.listen(server);
        io.sockets.on('connection', function(socket) {
            socket.emit('message');
            socket.on('hi', function(message) {
                console.log(message);
            });
            console.log('connected to socket');
        });
    }
}