gpt4 book ai didi

javascript - openshift/nodeJS 中的 Websocket 失败

转载 作者:搜寻专家 更新时间:2023-11-01 00:00:55 24 4
gpt4 key购买 nike

我知道这里已经提出了一些类似的问题,但是建议的解决方案似乎都不起作用。 (我会在下面发布相关答案)

我无法让一个简单的 websocket 应用程序在 openshift 上运行。该应用程序本身在本地运行。[编辑:我正在使用 socket.io]

相关代码:

服务器:

var express = require('express');
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io').listen(server);

server.listen(process.env.OPENSHIFT_NODEJS_PORT, process.env.OPENSHIFT_NODEJS_IP);

io.on('connection', function (socket) {

});

index.html

<script src="/socket.io/socket.io.js"></script>

Client.js

this.socket = io.connect('http://app-domain.rhcloud.com:8000', {'forceNew':true });

结果:

  • 获取 http://****-****.rhcloud.com:8000/socket.io/?EIO=2&transport=polling&t=1446734825100-0 net::ERR_CONNECTION_TIMED_OUT *

我尝试过的东西

use port 80 instead of 8000 (on client)

结果:与“ws://app-domain.rhcloud.com/socket.io/?EIO=2&transport=websocket&sid=rsqAz33O_aYSFfN3AAAD”的 WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:400/p>

Interchange server.list(… and var io = require('…

没有结果

Use ip address of server instead of http://app-domain.rhcloud.com

没有结果

类似问题

以下问题处理的是同一个问题,但是到目前为止,所提出的解决方案都没有奏效

Socket.io and node on OpenShift

OpenShift NodeJS deployment : socket.io index.html port assignment, etc

unable to deploy nodejs socket io application on openshift

Can't get socket.io and nodejs running with OpenShift

Socket.io.js returns 404 on OpenShift

我还克隆了一些 socket.io/openshift 的 github 示例,但它们都处理相同的问题。

要么我做错了什么,要么 openshift 发生了一些有趣的事情。

提前致谢。

最佳答案

我终于破解了它。显然,通过在服务器端对传输配置进行硬编码,它就可以工作。

var io = require('socket.io', {
transports: ['websocket']
})(http);

希望这对以后的人有所帮助。

关于javascript - openshift/nodeJS 中的 Websocket 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33547860/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com