【问题标题】:Socket.io: Connection closed before receiving a handshake responseSocket.io:在收到握手响应之前连接已关闭
【发布时间】:2016-09-09 15:12:24
【问题描述】:

我决定在 socket.io 上聊天,所以我只是复制了一个来自 http://psitsmike.com/2011/09/node-js-and-socket-io-chat-tutorial/ 的示例。

服务器端:

var app = require('express').createServer()
var io = require('socket.io').listen(app);
app.listen(8080);

app.get('/', function(req, res) {
    res.sendfile(__dirname + '/index.html');
});

var usernames = {};

io.sockets.on('connection', function(socket) {
    socket.on('sendchat', function(data) {
        io.sockets.emit('updatechat', socket.username, data);
    });

    socket.on('adduser', function(username) {
        socket.username = username;
        usernames[username] = username;
        socket.emit('updatechat', 'SERVER', 'you have connected');
        socket.broadcast.emit('updatechat', 'SERVER', username + ' has connected');
        io.sockets.emit('updateusers', usernames);
    });

    socket.on('disconnect', function() {
        delete usernames[socket.username];
        io.sockets.emit('updateusers', usernames);
        socket.broadcast.emit('updatechat', 'SERVER', socket.username + ' has disconnected');
    });
});

客户端:

< script src="/socket.io/socket.io.js">< /script>
< script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></ script>
< script>
var socket = io.connect('http://localhost:8080');
...

脚本运行良好,但我在 Chrome 控制台中发现它无法建立 websocket 连接,并回退到 XHR('websocket 连接无效')。尝试更改端口,并在 localhost 和 VPS 上进行了测试 - 结果相同。可能是什么原因?使用 express 2.4.6 和 socket.io 0.8.4。

【问题讨论】:

  • 是 var socket = io();不为你工作或仍然给出错误@Kirill Alexeev

标签: node.js sockets websocket socket.io


【解决方案1】:

应用程序部署为同一容器视图的一部分,它将使用应用程序 url 自动连接。可能不需要主机和端口,请检查以下选项

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io();
</script>

其他选项

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io('http://localhost');     
</script>

【讨论】:

    猜你喜欢
    • 2014-12-27
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多