5
我想實現的目標哪個臨時端口有java InetSocketAddress綁定?
將服務器綁定到臨時端口以進行單元測試。
我的問題:
使用JDK 1.5.0_22我嘗試使用端口0按照javadoc的臨時端口綁定上的的InetSocketAddress但我不能找到地址對象的方式來知道該端口已經綁定到了,所以我不能有相應的配置,我的客戶:
InetSocketAddress address = new InetSocketAddress(0);
assertThat(address.isUnresolved(), is(false));
assertThat(address.getPort(), is(0));
我可能不明白正確的Javadoc一句:
有效端口值是0和65535之間的零端口號將 讓系統拾取臨時端口在綁定操作。
但檢查甚至有我的服務器監聽套接字之後的端口不返回任何東西,但0(以下使用http://simpleweb.sourceforge.net/庫)(我假設發生了那麼綁定):
Container httpServer = new Container() {
public void handle(Request req, Response resp) {
}
};
SocketConnection connection = new SocketConnection(httpServer);
InetSocketAddress address = new InetSocketAddress(0);
connection.connect(address);
assertThat(address.isUnresolved(), is(false));
assertThat(address.getPort(), is(0));
用nmap的我甚至不看綁定端口,因此我假設我的理解是不正確。任何幫助?
NMAP從「外部」的作品,並受防火牆和諸如此類的東西。要檢查同一臺機器上的端口綁定,請使用「netstat」,而不是直接查詢TCP堆棧,而不是戳和刺激。 –