看板 java 關於我們 聯絡資訊
最近在練習簡單的Socket的程式,Server端已經寫好,但Client端的都照著書上打, 卻還是無法建立ClientSocket,看了好久,還是不知道原因,懇求版大大幫忙解答 簡短程式碼如下: ----------------------------------------------------------------------------- import java.io.*; import java.net.*; public class ClientSocketTest { Socket cs; int port; ClientSocketTest(String host){ port = 0; try{ System.out.println("未建立"); cs = new Socket(InetAddress.getByName(host), port); System.out.println("已建立"); } catch(IOException ex){ System.out.println("error!!"); } } public void clientInfo(){ try{ InetAddress addr = cs.getLocalAddress().getLocalHost(); System.out.println("Client Information: "); System.out.println("Local Host: "+cs.getLocalAddress().getLocalHost()); System.out.println("Host name : "+addr.getHostName()); System.out.println("IP address: "+addr.getAddress()); System.out.println("Peot : "+cs.getLocalPort()); System.out.println("============================"); } catch(IOException ex){} } } public class JavaInternetTest { public static void main(String[] args) { ClientSocketTest cst = new ClientSocketTest("localhost"); //cst.clientInfo(); } } ----------------------------------------------------------------------------- 印出結果如下 未建立 error!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.128.18.102 ※ 編輯: baconcsie 來自: 140.128.18.102 (04/08 04:20)
glob:why你只訂的連線port是0? 04/08 08:35
baconcsie:只是要先抓取本機資料,所以先設為0 讓它自動找值 04/08 09:38
TonyQ:你從哪看到給 0 他會自動找值啊...-_- 04/08 10:05
baconcsie:書上寫的,我寫Server端,設0他會自動找未使用的值 04/08 10:09
baconcsie:剛剛試著把值改為手動設值,但是狀況依舊 04/08 10:17
TonyQ:不對,你拿到未建立是因為conenct refused.你是要建 04/08 13:09
TonyQ:ServerSocket(被連的) 還是Socket (連別人的)? 04/08 13:10
baconcsie:我是要建立連別人的Socket,但還沒有要做連線,只是要取 04/08 13:35
baconcsie:得本機資料 04/08 13:36
TonyQ:你要取得什麼資料?你socket new的時候就會試著連出去了 04/08 13:53
baconcsie:不太懂您的意思,Socket建立起來之後,可透過Socket的 04/08 15:56
baconcsie:method取得本機的資料(hostname/ip address)不是嗎? 04/08 15:59
baconcsie:所以我只是要建立起具有Socket的物件,然後先取的本機資 04/08 16:01
baconcsie:料而已,還沒有要對server做連線,但現在卻連Socket都沒 04/08 16:03
baconcsie:有被建立,因為我的"已建立"寫在new Sokcet後,執行結果 04/08 16:04
baconcsie:卻沒有印出"已建立",而是進入了例外處裡印出error,所 04/08 16:07
baconcsie:以他是在建立Socket時發生例外,但我卻不知道為什麼會發 04/08 16:09
baconcsie:生例外,所以想請版上大大幫我解答 04/08 16:13
Chikei:Creates a stream socket and "connects" from SDK javadoc 04/08 16:19
aleelyle:取得ip那些的用static method就好了 不用new物件出來 04/08 20:32