Javascript Socket.io不从客户端或服务器发出?

Javascript Socket.io不从客户端或服务器发出?,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,在客户端,我有以下代码: var serverAddress = "http://localhost:8081"; var socket = io(serverAddress); socket.on('connect', function(){ console.log("Connected to server on %s", serverAddress); }); socket.emit("xxx", {text : "attack"}); 在服务器上,我有一个: var expre

在客户端,我有以下代码:

var serverAddress = "http://localhost:8081";
var socket = io(serverAddress);

socket.on('connect', function(){
    console.log("Connected to server on %s", serverAddress);
});
socket.emit("xxx", {text : "attack"});
在服务器上,我有一个:

var express = require('express');
var http = require('http');

var app = express();
var server = http.createServer(app);
var socket = require('socket.io').listen(server);

socket.on('connect', function() {
    console.log('A user is connected to server');
});
socket.on('xxx', function(data) {
    console.log(data);
});

connect
事件在服务器上被触发并捕获,但
xxx
事件甚至没有被触发或捕获。怎么了
Console.log
未报告任何错误。

您将socket.io服务器与socket.io连接混淆

当建立新的客户端连接时,服务器接收到一个
连接
事件。该事件的参数(通常称为
socket
)表示该连接。这是您需要用来侦听消息的对象:

// server
...
var io = require('socket.io').listen(server);
...
io.on('connection', function(socket) {
  console.log('A user is connected to server');
  socket.on('xxx', function(data) {
    console.log(data);
  });
});

这就是我一直在寻找的(y)