java.net.BindException 在 OpenShift 的 Tomcat 7 上创建 ServerSocket 时
java.net.BindException When Creating ServerSocket on Tomcat 7 on OpenShift
我试图在 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。但是 none 成功了。
我在网上仔细搜索了一下。但是,我仍然找不到解决方案。有人知道吗?
2015-12-29 编辑
建议的原因:
Openshift allows gears to bind to port 8080. But Tomcat has already
bound 8080. So, my application is disallowed binding to the same port.
建议的解决方案:
Use DIY Cart instead. But it seems that Openshift only allows
external client to connect with http://, https://, ws:// and wss://
protocol (OpenShift Developer Guide). Applications should be modified
to handle these protocols.
confirmed the solution and provided documentation.
我认为使用 DIY 推车可能是一种解决方案。
Openshift 允许 gears 绑定到端口 8080。我怀疑 Tomcat 已经绑定了 8080。因此,我的应用程序不允许绑定到相同的端口。
我试过 DIY 推车,我也没有例外。但是好像Openshift只允许外部客户端连接http://, https://, ws:// and wss://协议(OpenShift Developer Guide)。我必须修改我的应用程序来处理这些协议。
有人知道其他解决方案吗?
我认为这是唯一的解决办法,看看这个documentation。
我试图在 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。但是 none 成功了。
我在网上仔细搜索了一下。但是,我仍然找不到解决方案。有人知道吗?
2015-12-29 编辑
建议的原因:
Openshift allows gears to bind to port 8080. But Tomcat has already bound 8080. So, my application is disallowed binding to the same port.
建议的解决方案:
Use DIY Cart instead. But it seems that Openshift only allows external client to connect with http://, https://, ws:// and wss:// protocol (OpenShift Developer Guide). Applications should be modified to handle these protocols.
我认为使用 DIY 推车可能是一种解决方案。
Openshift 允许 gears 绑定到端口 8080。我怀疑 Tomcat 已经绑定了 8080。因此,我的应用程序不允许绑定到相同的端口。
我试过 DIY 推车,我也没有例外。但是好像Openshift只允许外部客户端连接http://, https://, ws:// and wss://协议(OpenShift Developer Guide)。我必须修改我的应用程序来处理这些协议。
有人知道其他解决方案吗?
我认为这是唯一的解决办法,看看这个documentation。