2011-01-20 127 views
1

我想編寫一個小的groovy腳本。Groovy Socket編程和IP地址

這是我的腳本,這是工作:

s = new Socket("localhost", 1234); 
s << "RUN" 
s.close() 

但我不希望使用主機名(這裏是「localhost」的),我想使用的IP-ADRESS,但如果我寫下面的代碼它不起作用。

s = new Socket("xx.x.xx.xxx", 1234); 
    s << "RUN" 
    s.close() 

我也試着這樣說:

s = new Socket(new Inet4Address("xx.x.xx.xxx"), 1234); 
s << "RUN" 
s.close() 

我總是得到一個連接被拒絕的例外:

捉住:java.net.ConnectException: 連接被拒絕:連接在 web3.run(web3.groovy:1)

我知道,這段代碼實際上並不合理,但這是我所需要的。

感謝您的幫助。

回答

0

你試過這種表示法嗎?

s = new Socket(InetAddress.getByName("xx.x.xx.xxx"), 1234); 
+0

不,我沒有。但它也不起作用。我認爲這不是一個常見的問題,它可能是我的防火牆或計算機上的其他任何問題,我還沒有弄清楚。如果我使用'localhost'一切都很好,如果我使用'127.0.0.1'它也可以,但是如果我使用我的真實IP地址不是。 – LStrike 2011-01-20 15:50:45

0

捉住:java.net.ConnectException:連接被拒絕:連接在web3.run(web3.groovy:1)

看起來指定要連接到主機(WEB3 .groovy:1)是否停止或不在該端口上收聽?

如果其a * nix系統。試試:

netstat -na | grep 1234

看看您是否真的在該端口上監聽該系統。