Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
希望在openshift上用JAVA托管原始套接字程序_Java_Sockets_Openshift - Fatal编程技术网

希望在openshift上用JAVA托管原始套接字程序

希望在openshift上用JAVA托管原始套接字程序,java,sockets,openshift,Java,Sockets,Openshift,我在许多论坛上寻找过类似的查询,包括stack Overflow,但运气不好。我已经在openshift上创建了DIY应用程序,并安装了java和Apache web服务器,web服务器在其上运行良好,但现在我正在寻找基于原始TCP套接字的程序,在openshift上的8080端口侦听,该程序在openshift控制台中运行,我看到服务器正在侦听。。。消息,但当我尝试从我的系统连接我的套接字客户端时,它只会重试几秒钟,然后它会说,连接由对等方重置,我现在应该怎么做,或者有其他解决方案吗 谢谢 您

我在许多论坛上寻找过类似的查询,包括stack Overflow,但运气不好。我已经在openshift上创建了DIY应用程序,并安装了java和Apache web服务器,web服务器在其上运行良好,但现在我正在寻找基于原始TCP套接字的程序,在openshift上的8080端口侦听,该程序在openshift控制台中运行,我看到服务器正在侦听。。。消息,但当我尝试从我的系统连接我的套接字客户端时,它只会重试几秒钟,然后它会说,连接由对等方重置,我现在应该怎么做,或者有其他解决方案吗


谢谢

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

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

服务器仍然需要绑定到8080才能从外部访问,但是客户端实际上应该连接到80或8000(WebSocket)。有关如何在OpenShift上路由请求的详细信息,请参见此图

按下代码时检查终端输出,以查看启动服务器的操作挂钩是否工作。确保钩子文件是可执行的

有关更多信息,请参见此


因此,应用程序盒带中的HAProxy只允许websocket或HTTP通信,任何具有除此之外的协议的通信都不会通过它。因此,最好使用websocket,而不是使用原始套接字。

使用JAVA DatagramSocket怎么样?有没有办法访问这些套接字?如上图所示,openshift代理只允许HTTP通信,因此不允许任何其他协议通过它!