Socket.io 400 (Bad Request)

来源:互联网 发布:淘宝点收藏没反应 编辑:程序博客网 时间:2024/06/05 10:51
我的服务器端:
var http=require("http");//加载http模块var fs=require("fs");//加载用于文件读取的fs模块var io = require('socket.io');//引入socket包var documentRoot="D:/HTML5/websocket/www";//客户端访问文件的默认根目录var httpServer=http.createServer(function(req,res){//当客户端通过http协议发送请求到该服务器时,就会触发这个回调函数      var url=req.url;//console.log(url);//输出的是文件的相对路径  var file=documentRoot + url;//console.log(file);//输出的是文件的绝对路径  fs.readFile(file,function(error,data){//读取文件,参数1为文件绝对路径,参数2是个回调函数(读取完文件就执行)  //error不为空时,表示读取时发生错误;为空时,表示读取成功-----<span style="font-family: Arial, Helvetica, sans-serif;">//data为读取到的文件内容</span> if(error){//读取文件发生错误时的响应内容 res.writeHeader(404,{         'content-type':'text/html;charset="utf-8"'         }); res.write('<h1>404</h1><p>你要访问的页面不存在</p>'); res.end(); }else{//文件读取成功的响应内容 res.writeHeader(200,{         'content-type':'text/html;charset="utf-8"'         }); res.write(data); res.end(); }   });}).listen(8888);//调用http模块函数创建http协议的服务器var socket = io.listen(httpServer);//升级http协议socket.sockets.on('connection', function(socket) {//当客户端访问该服务器时,就会触发connect事件,然后执行回调函数 //socket对象保存着客户端与服务器端一个连接的信息,每个socket链接都有一个独立的socket对象 console.log('有人通过socket连接进来了'); //socket.emit('hello', '欢迎'); });
我的客户端:
</pre><pre>
</pre><pre name="code" class="javascript"><pre name="code" class="javascript"><script src="public/javascripts/socket.io.js"></script><script>var btn = document.getElementById('btn');var socket = null;btn.onclick = function() {socket = io.connect('http://localhost:8888');//io是socket.io.js文件中定义的对象socket.on('hello', function(data) {alert(data);//this.emit('hellotoo', '欢迎欢迎');}); </script>


访问报错:
http://127.0.0.1:8888/socket.io/1/?t=1404410309733 400 (Bad Request)
解决办法:应该是socket.io.js版本太低,客户端改成
<script src="https://cdn.socket.io/socket.io-1.0.6.js"></script>
便可以正常工作了

</pre><pre>
0 0
原创粉丝点击