URL類是java.net包中的一個重要的類,URL的實例封裝着一個統一資源定位符,使用URL建立對象的應用程序稱做客戶端程序。
一個URL對象一般包含最基本的三部分信息:協議、地址、資源。java
public URL(String spec) throws MalformedURLException public URL(String protocol, String host,String file) throws MalformedURLException
服務器
讀取URL中的資源:URL對象調用InputStream openStream()
InetAdress類多線程
地址的表示:域名和IP地址
獲取Internet上主機的地址:
1.能夠使用InetAddress類的靜態方法getByName(String s);
2.得到一個InetAddress對象,該對象含有主機地址的域名和IP地址,該對象用以下格式表示它包含的信息:
www.sina.com.cn/202.108.37.40
獲取本地機的地址
能夠使用InetAddress類的靜態方法getLocalHost()得到一個InetAddress對象,該對象含有本地機的域名和IP地址。socket
與mysocket相關的方法
getInputStream()得到一個輸入流
getOutputStream()得到一個輸出流
用getInputStream()獲得的輸入流接到另外一個DataInputStream數據流上
用getOutputStream()獲得的輸出流接到另外一個DataOutputStream數據流上學習
ServerSocket對象與服務器端套接字:
1.創建ServerSocket對象:url
try{ ServerSocket serverForClient =new ServerSocket(2010); } catch(IOException e){}
2.使用方法accept()將客戶的套接字和服務器端的套接字鏈接起來.net
```try{ Socket sc= serverForClient .accept(); }
catch(IOException e){}```
3.所謂「接收」客戶的套接字鏈接就是accept()方法會返回一個和客戶端Socket對象相鏈接的Socket對象。線程
爲了防止堵塞線程,服務器端收到一個客戶的套接字後,就應該啓動一個專門爲該客戶服務的線程。
UDP數據報設計
1將數據打包,稱爲數據包(比如將信件裝入信封同樣),而後將數據包發往目的地。
2.接受別人發來的數據包(比如接收信封同樣),而後查看數據包中的內容。code
1.用DatagramPacket的如下兩個構造方法建立待發送的數據包:
DatagramPacket(byte data[],int length,InetAddtress address,int port) DatagramPack(byte data[],int offset,int length,InetAddtress address,int port)
2.用DatagramSocket類的不帶參數的構造方法:DatagramSocket()建立一個對象,該對象負責發送數據包。例如:
DatagramSocket mail_out=new DatagramSocket(); mail_out.send(data_pack);
1.用DatagramSocket的另外一個構造方法DatagramSocket(int port) 建立一個對象,其中的參數必須和待接收的數據包的端口號相同。
2.對象mail_in使用方法receive(DatagramPacket pack)接受數據包。
3.用DatagramPack類的另一個構造方法: DatagramPack(byte data[],int length)建立一個數據包,用於接收數據包
廣播數據報