2015-06-03 72 views
1

我想在我的應用程序(Spring web + Tomcat7上的SNMP陷阱接收器)中使用低端口。正如我在此線程Binding Low Port to Java Program on Ubuntu Server中所述,之前,我得到錯誤Permission denied。然後我更改tomcat7用戶組爲root。但之後,我得到了java.net.BindException:無法分配請求的地址錯誤。對於我嘗試的每個端口(低端口或高端口),我總是得到這個錯誤。java.net.BindException:無法分配請求的地址

我檢查端口是否已經使用,我看到端口仍然空閒。 我檢查我的/ etc /主機內容,它是這樣的:

127.0.0.1 localhost 
127.0.1.1 test-server 
# The following lines are desirable for IPv6 capable hosts 
::1 localhost ip6-localhost ip6-loopback 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 
124.81.xx.x test-server.com 

注:我的操作系統是Ubuntu的服務器

+0

你綁定了什麼{address:port}?並且是地址本地主機的本地IP地址? – EJP

+0

是的,本地主機的IP地址(124.81.xx.xx:162) –

+0

但它是主機的本地* IP地址,還是通過路由器/防火牆和端口轉發的公共地址?你不能綁定後者,只能綁定前者。 – EJP

回答

2

你應該結合0.0.0.0而不是試圖指定本地地址。

+0

聽衆在0.0.0.0:162,但是當我嘗試發送陷阱到真正的ip(公網ip-> 124.81.xx.xx)時,陷阱沒有捕捉到 –

+0

對不起,今天我再試一次,它運行良好。我不知道爲什麼昨天它不工作,也許我錯過了一些東西。謝謝你的答案。 –

+0

您不能綁定到不是本地主機本地IP地址的任何地址。例如,您不能綁定到由外部路由器提供的外部地址。 – EJP

相關問題