Socket.io"失败:在收到握手响应之前连接已关闭"

时间:2015-11-07 18:31:43

标签: node.js express websocket socket.io

还有其他帖子提出同样的问题,但我的情况有所不同。代码有效,但错误" 失败:连接在收到握手响应之前关闭"显示在Chrome控制台中。我试图剥离所有代码,并提出了一个非常纤薄的代码,继续给出错误。以下是测试用例:

服务器端:

 var http    = require('http');
 var express = require('express');

 app    = express();
 server = http.createServer(app);
 serveFile = function (req,res) { 
            res.sendFile(__dirname + '/socket.html');
              };  
 io = require('socket.io')(server);
 io.sockets.on('connection',function(socket) {
   socket.on('from_client',function(data) { console.log(data.name); }); 
   socket.emit('dateFromServer', {'date': new Date()});
 }); 
 app.use(serveFile);
 io.listen(server);
 server.listen(2000);

客户端:( socket.html文件)

<!doctype html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
    <script src="https://cdn.socket.io/socket.io-1.3.7.js"></script>
  </head>
  <body>
    <script>
      var socket = io.connect();
      socket.on('dateFromServer', function(data){
        $('#date').text(data.date);
      });
      socket.emit('from_client',{'name':'John'});
    </script>
    <div id="date">Date will be displayed here</div>
  </body>
</html>


请问有人可以解释导致错误的原因吗?正如预期的那样,从客户端/服务器发送/接收消息 〜

0 个答案:

没有答案