为什么我不能在console.log()中看到socket.io的服务器代码?

我开始学习如何使用socket.io,并且在过去的几天里我一直在试图解决这个问题,但是我没有得到2件事情。

  1. 为什么在启动服务器并加载我的相应url(localhost:8088)之后,我的警报显示出来需要很长时间?

  2. 为什么我看不到socket.io的服务器代码? 例如在下一个代码块中,我从来没有在控制台中看到“我的其他事件”中的数据。

服务器(app.js):

var app = require('express')() , server = require('http').createServer(app) , io = require('socket.io').listen(server); server.listen(8088); app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); }); io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); 

客户端(index.html):

 <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect(); socket.on('news', function (data) { console.log(data); alert(data.hello); socket.emit('my other event', { my: 'data' }); }); </script> 

这可能是express 3.0和socket.io之间的不兼容

尝试这个:

 var express = require('express'),; var http = require('http'); var app = express(); var server = module.exports = http.createServer(app); var io = require("socket.io").listen(server); server.listen(8088);