gpt4 book ai didi

java - 想要在 openshift 上托管 JAVA 中的原始套接字程序

转载 作者:行者123 更新时间:2023-11-30 07:19:50 25 4
gpt4 key购买 nike

我在许多论坛上寻找过类似的查询,包括堆栈溢出,但运气不好。我已经在 openshift 上创建了 DIY 应用程序,并安装了 java 和 Apache Web 服务器,Web 服务器在它们上运行良好,但现在我希望托管基于 RAW TCP 套接字的程序,以监听 openshift 上的 8080 端口,该程序在 openshift 控制台中运行,我看到服务器监听...消息,但是当我尝试从系统连接套接字客户端时,它只是重试几秒钟,然后它说,连接已被对等方重置,我现在应该做什么,或者有什么替代解决方案?

谢谢!

最佳答案

您似乎正在尝试使用客户端连接到端口 8080:

echoSocket = new Socket(serverHostname, 8080);

OpenShift 仅允许用户绑定(bind) 15000 到 35530 之间的端口。但是,执行此操作时,用户还必须指定主机的 IP 地址,否则将使用 localhost,这在 OpenShift 上是不允许的。服务器的地址位于环境变量 OPENSHIFT_DIY_IP 下(如果使用 JBoss ,则根据使用的技术,该变量可能有不同的名称,就像您的情况是 DIY 一样)。

服务器仍然需要绑定(bind)到 8080 才能从外部访问,但客户端实际上应该连接到 80 或 8000(websockets)。请参阅此图,详细了解如何在 OpenShift 上路由请求。

enter image description here

在推送代码时检查终端输出,以查看启动服务器的操作 Hook 是否正常工作。确保 Hook 文件可执行。

请参阅此了解更多信息

Port Binding and Routing Requests to your OpenShift Application

因此,总的来说,应用程序盒中的 HAProxy 只允许 websocket 或 HTTP 流量,任何具有除此之外协议(protocol)的流量都不会通过它。因此,最好使用 websocket,而不是使用 RAW 套接字。

关于java - 想要在 openshift 上托管 JAVA 中的原始套接字程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37773998/

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