我正在使用socket = new Socket(host, port, InetAddress.getLocalHost(), clientPort);
創建套接字。我想讓套接字在客戶端聽特定的端口。但是當我使用InetAddress.getLocalHost()
時,我得到java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
。Java TCP套接字:java.net.ConnectException:connect:地址在本地計算機上無效,或端口在遠程計算機上無效
但是,當我使用InetAddress.getByName("localhost")
它工作正常。但我需要在服務器端的機器的IP地址。所以當我使用socket.getInetAddress()
我想要ipadress而不是127.0.0.1。
任何人都可以請幫忙。 我正在使用eclipse。這可能是防火牆問題嗎?
感謝
我不太瞭解這個問題。也許你可以發佈代碼? Btw:它不是偵聽的套接字,它是'ServerSocket','Socket'連接到一個監聽服務器。 – home
由於不清楚而感到抱歉。我使用套接字(字符串主機,int端口,InetAddress localAddr,int本地端口) 創建套接字,如果InetAddress是gt使用InetAddress.getLocalHost() –
爲什麼地球上你試圖指定客戶端端口客戶端套接字? –