InetAddress
Java以InetAddress類別來處理有關host name和 IP 位址的取得
下表列出java.net.InetAddress常用的函數
函數 | 功能 |
static InetAddress[] getAllByName(String name) | 給予主機的host name,取得該主機下所有提供服務的IP位址 |
static InetAddress getByName(String name) | 給予主機的host name,取得該主機的IP位址 |
String getHostAddress() | 取得主機的IP |
String getHostName() | 取得主機的host name |
static InetAddress getLocalHost() | 取得本地端的host name和IP |
下方範例用來取得本機的名稱與IP位址
------ OUTPUT ------
172.20.11.7
DESKTOP-CEB
DESKTOP-CEB/172.20.11.7
下方範例使用getByName取得google的host name和IP
------ OUTPUT ------
google.com/172.217.27.142
URL
URL是universal resource locator的縮寫,用以表示網路上資源的位址
下方範例示範一些URL的用法
------ OUTPUT ------
通訊協定名稱為: https
host name為: lakesd6531.pixnet.net
port號為: -1
檔名為 /blog
(因為我們沒有指定使用的port,所以取得是-1)
下方範例使用URL的getContent,取得URL內的資源
------ OUTPUT ------
床前明月光,
疑是地上霜。
舉頭望明月,
低頭思故鄉。
Socket
當Client發出請求,Server一旦收到Client的請求後,會建立一個新的Socket物件
並透過這個物件與客戶端連線,以便進行資料的傳遞
Socket是程式與網路之間的一種介面,可以透過Socket把資訊傳送到網路
Java提供ServerSocket與Socket的Class
可以將Client的電腦連上Server,並可從Server傳遞資料給Client
作法是在Server端的程式中呼叫ServerSocket,把server socket建立在特定的port號
再呼叫accept(),用以監控client的請求
當Client有請求的時候,server的accept會接收請求,並建立Socket與Client連線
然後依據Client的請求,再把資訊傳回給Client
下方範例建立一個Server端的程式,他可以等候Client的請求
一旦Client與Server連線,就會建立一個Socket的物件,並透過Socket傳送字串給Client
接著我們建立一個Client端的程式
他對Server送出請求,然後接收伺服器端送出來的字串
執行這兩支程式的時候,必須先執行Server的程式,再執行Client的程式
------ Server OUTPUT ------
等待客戶端的請求中...
客戶端已和本機連線...
資料正在傳送中
資料傳送完畢
------ Client OUTPUT ------
正在與伺服器建立連線...
已經與伺服器取得連線...
從伺服器收到:
Message...
留言列表