还有其他帖子提出同样的问题,但我的情况有所不同。代码有效,但错误" 失败:连接在收到握手响应之前关闭"显示在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>
〜
请问有人可以解释导致错误的原因吗?正如预期的那样,从客户端/服务器发送/接收消息
〜