java.net.BindException在OpenShift上的Tomcat 7上创建ServerSocket时

时间:2015-12-26 13:21:00

标签: java openshift serversocket

我试图在Openshift上启动一个应用程序,它通过ServerSocket侦听一个端口。

ServerSocket  = new ServerSocket(8080); 

但它失败并出现以下错误消息:

java.net.BindException: Permission denied
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:128)...

我试图将端口从8080更改为8000,然后更改为15000.但是没有一个能够正常工作。

我在互联网上进行了密集搜索。但是,我仍然找不到解决方案。有没有人有线索?

2015-12-29编辑

建议理由:

  

Openshift允许齿轮绑定到端口8080.但Tomcat已经   绑定8080.因此,我的应用程序不允许绑定到同一个端口。

建议的解决方案:

  

使用DIY购物车代替。但似乎Openshift只允许   外部客户端连接http://,https://,ws://和wss://   协议(OpenShift Developer Guide)。应修改应用程序   处理这些协议。

Ungarida确认了解决方案并提供了documentation

2 个答案:

答案 0 :(得分:0)

我认为使用DIY购物车可能是一种解决方案。

Openshift允许齿轮绑定到端口8080.我怀疑Tomcat已绑定8080.因此,我的应用程序不允许绑定到同一端口。

我尝试过DIY购物车,我也不例外。但似乎Openshift只允许外部客户端连接http://,https://,ws://和wss:// protocol (OpenShift Developer Guide)。我必须修改我的应用程序来处理这些协议。

有谁知道其他解决方案?

答案 1 :(得分:0)

我认为这是唯一的解决方案,请看一下documentation