我用 express 生成器创建了一个 express 3 应用程序并安装了 socket.io。在 app.js 上,我发出一条消息:
io.sockets.on('connection', function(socket) {
socket.emit('init', { msg: 'Welcome'});
});
在服务器端,我写道:
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<script src='/socket.io/socket.io.js' />
<script>
var socket = io.connect('http://127.0.0.1:3000');
socket.on('init', function (data) {
console.log(data.msg);
});
</script>
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
</body>
</html>
如果我运行 app.js 它应该在控制台上打印“欢迎”,但它不会打印任何东西。我检查了 /socket.io/socket.io.js 是否已被访问,并且确实如此。
运行应用程序时,我得到:
info - socket.io started
Express server listening on port 3000
GET / 200 28ms - 472
GET /stylesheets/style.css 200 163ms - 110
debug - served static content /socket.io.js
我错过了什么吗?我遵循了 socket.io 网页示例,但似乎服务器运行良好......也许是客户端的东西?
var socket = io.connect('http://127.0.0.1', { port: 3000 } );
编辑:我也在客户端尝试过,并且还从主体运行所有套接字客户端。
在 io.sockets.on 事件上做一个 console.log 什么都没有……所以永远不会达到“连接”。