簡體   English   中英

如何將DatagramSocket綁定到Openshift中的特定端口

[英]How to bind DatagramSocket to particular port in Openshift

我在openshift上運行了簡單的Java jar服務,該服務試圖與DatagramSocket連接並得到以下異常:

java.net.BindException: Permission denied
at java.net.PlainDatagramSocketImpl.bind0(Native Method)
at java.net.AbstractPlainDatagramSocketImpl.bind(AbstractPlainDatagramSocketImpl.java:96)
at java.net.DatagramSocket.bind(DatagramSocket.java:397)
at java.net.DatagramSocket.<init>(DatagramSocket.java:251)
at java.net.DatagramSocket.<init>(DatagramSocket.java:304)
at java.net.DatagramSocket.<init>(DatagramSocket.java:276)
at com.gasmps.service.TerminationListener.run(EmailService.java:542)
at java.lang.Thread.run(Thread.java:745)

我知道這是端口許可問題,但是我嘗試使用8000,8443,15005,16005這樣的端口,但是變得一樣,我該如何解決呢? 我怎么知道我可以在我的應用程序中使用的所有開放端口。

編輯:我的jboss服務器已經在同一應用程序中運行,並且我不想為這些jar服務bcos創建單獨的應用程序,我必須從遠程位置從我的應用程序運行此jar。

iv在遇到相同問題之前先進行了調查,然后在以下方面找到了堆棧溢出的答案:

在Openshift中,您只能綁定到服務器為您分配的端口。 通常,這是環境變量$ OPENSHIFT_JBOSS_PORT的值(它在各個盒之間不同),並且在齒輪之間該值也不同。 綁定到任何其他端口將被報告為違反SELinux策略並被拒絕。 鏈接 端口通常是8080

您可以將您的應用綁定到8080(而不是8000或8443),則在8000和8443上收到的所有流量都將由代理路由到您的應用>在8080上監聽。

這對我有用,但請告訴我它如何進行,如果仍然不起作用,我會盡力幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM