我是socket.io的初学者,并试图像程序一样制作简单的hello world。看起来我的index.html页面加载并成功连接到服务器,但服务器没有触发“连接”事件。我正在分享我的代码,以便你可以弄清楚我在这里做错了什么。
app.js
var app = require('http');
var io = require('socket.io'), fs = require('fs');
app.createServer(function(req,res){
console.log(req.url);
switch(req.url){
case '/':
fs.readFile('./index.html',function(err,data){
if(err){
res.end('Error');
throw err;
}
res.writeHead(200,{"Context-type":"text/html"});
res.write(data);
res.end();
});
break;
case '/socket.io.js':
fs.readFile('./socket.io.js',function(err,data){
if(err){
res.end('Error');
throw err;
}
res.writeHead(200,{"Context-type":"text/javascript"});
res.write(data);
res.end();
});
}
}).listen(8888);
ios = io.listen(app);
console.log("Listening..");
ios.sockets.on('connection',function(socket){
console.log('connection established.'); //this doesn't show up in CLI
});
的index.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Example</title>
<script src="socket.io.js" type="text/javascript"></script>
<script>
var socket = io.connect('http://localhost:8888');
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:0)
最后我自己弄清楚了。我所要做的就是
server = require('http').createServer()
然后将该服务器传递给socket io的监听器,即
io.listen(server);
我将app = require('http');
传递给io.listen(app)