首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebSocket响应502

WebSocket响应502
EN

Stack Overflow用户
提问于 2014-02-26 21:10:17
回答 1查看 6.8K关注 0票数 1

在应该支持websockets的OpenShift上,我使用下面的socket.io代码获得以下响应:

WebSocket握手时出错:意外响应代码: 502

在日志中,我可以看到以下内容:

警告: websocket连接无效

套接字然后返回到xhr轮询。我想我曾经让它起作用,但我不知道我改变了什么会破坏它。

或者,在最新的升级之后,openshift会停止支持websockets吗?

代码(node.js服务器,socket.io)

代码语言:javascript
复制
var server = require('http').createServer(self.app);

server.listen(self.port, self.ipaddress, function() {
     console.log('%s: Node server started on %s:%d ...', Date(Date.now() ), self.ipaddress, self.port);
});

var io = require('socket.io').listen(server);

io.configure(function () { 
    io.set("polling duration", 120); 
    io.set("heartbeat timeout", 120);
    io.set("close timeout", 120);
});            

io.sockets.on('connection', function (socket) {
    socket.on('message', function (data) {
        socket.emit('message', data);
        socket.broadcast.emit('message', data);
     });
});    

客户代码:

代码语言:javascript
复制
<script>    
    var socket = io.connect('http://xy-app.rhcloud.com');

    socket.on('message', function(data) {
        $("#messages").prepend("<p>" + data.content + "</p>");
    }); 
</script>
EN

回答 1

Stack Overflow用户

发布于 2014-02-27 06:23:09

似乎您通过将这些配置属性设置为可能不知道的值,从而以错误的方式配置了服务器。你看过文件吗?你知道polling durationheartbeat timeoutclose timeout是什么吗?可能您给这些值分配了不正确的值。你可能会想要这样做,这样会奏效的:

代码语言:javascript
复制
io.configure(function () { 
io.set("polling duration", 30);
io.set("heartbeat timeout", 120);
io.set("heartbeat interval", 25);
io.set("close timeout", 120);

});

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22053339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档