为什么我不能在console.log()中看到socket.io的服务器代码?
我开始学习如何使用socket.io,并且在过去的几天里我一直在试图解决这个问题,但是我没有得到2件事情。
-
为什么在启动服务器并加载我的相应url(localhost:8088)之后,我的警报显示出来需要很长时间?
-
为什么我看不到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);