尚矽谷課程
inetadress類的建立和使用
inetaddress inet = inetaddress.getbyname("www.badu.com");
inet = inetaddress.getbyname("***.***.xx.x");
system.out.println(inet); // 控制台輸出的格式為: www.badu.com/***.***.xx.x
inet.gethostname();
inet.gethostaddress();
inet.getlocalhost();//獲取本地主機
將優先從本機 host檔案中獲取
ip 和埠
16位的整數0~65535,其中,0~1023被預先定義的服務通訊占用,應當使用1034~65535中的埠
進行通訊,避免發生埠衝突
埠號和ip位址的組合得出乙個網路套接字
tcp協議:
使用tcp協議前,須建立tcp連線,形成傳輸資料通道
傳輸前,採用「三次握手」,是可靠的
tcp協議進行通訊的兩個應用程序:客戶端、服務端
傳輸完畢,需釋放已建立的連線,效率低
udp協議:
將資料、源、目的封裝成資料報,不需要建立連線
每個資料報的大小限制在64k內
因無需連線,故是不可靠的
傳送資料結束時無需釋放資源,速度快
socket程式設計,簡單例子
@test
public void client() throws unknownhostexception, ioexception
@test
public void server() throws ioexception
in.close();
so.close();
ss.close();
system.out.println("服務端接收結束");
}so.shutdownoutput();//顯示的告訴服務端傳送完畢 節點流 阻塞式
類datagramsocket和datagrampacket實現了基於udp協議網路程式
udp資料報通過資料報套接字datagramsocket傳送和接收,系統不保證udp資料報
一定能夠安全送到目的地,也不能確定什麼時候可以抵達。
datagrampacket物件封裝了udp資料報,在資料報中包含了傳送端的ip位址和埠號以及接收端的ip位址和埠號。
udp協議中每個資料報都給出了完整的位址資訊,因此無須建立傳送方和接收方的連線
udp程式設計實現
@test
public void send() throws ioexception
@test
public void receive() throws ioexception
url程式設計
url:統一資源定位符,它表示internet上的某一資源
由5部分組成:《傳輸協議》://《主機名》:《埠號》/《檔名》
類url的構造方法都生命丟擲非執行時異常,必須要對這一異常進行處理,通常是用try-catch語句進行捕獲
乙個url物件生存後,其屬性是不能被改變的,但可以通過它給定的方法來獲取這些屬性
public string getprotocol() 獲取該url的協議名
public string gethost() 獲取該url的主機名
public string getport() 獲取該url的埠號
public string getpath() 獲取該url的檔案路徑
public string getfile() 獲取該url的檔名
public string getref() 獲取該url在檔案中的相對位置
public string getquery() 獲取該url的查詢名(查詢條件)
url的方法openstream();能從網路上讀取資料
若希望輸出資料,則必須先與url建立連線,然後才能對其進行讀寫,此時需要使用
urlconnection:表示到url所引用的遠端物件的連線,當與乙個url建立連線時,首先要在乙個
url物件上通過方法
openconnection()生成對應的urlconnection物件。如果連線過程失敗,將產生ioexception
即:有資料輸入,又有資料輸出,則考慮使用urlconnection類
@test
public void urltest() throws ioexception
in.close();
// 將獲取的資料,讀取,並輸出到本地
urlconnection urlcon = url.openconnection();
inputstream intp = urlcon.getinputstream();
fileoutputstream fotp = new fileoutputstream(new file("test.txt"));
byte b1 = new byte[20];
int len1 = 0;
while ((len1 = intp.read(b1)) != -1)
fotp.close();
intp.close();
}
java網路程式設計基礎
一.埠 如果把ip比作一間房子那麼埠就是這間房子的們 1.一台計算機有65535個埠,其中0為保留埠,1 1024為固定埠,1025 65535為動態埠 程式設計師可以試用的埠 2.在計算機 尤其是伺服器 上盡可能的少開端口 3.乙個埠只能被乙個程式監聽 4.可以使用netstat an命令檢視本機...
JAVA基礎 網路程式設計
網路程式設計 socket程式設計 網路程式設計的三個要素 有32位或者128位表示,常用的ip位址是32位 也就是ipv4,128位代表ipv6 a 1.0.0.1 127.255.255.25410.x.x.x 是私有位址 b類128.0.0.1 191.255.255.254172.16.0....
JAVA基礎 網路程式設計
協議 udp 面向無連線,不安全,速度快 tcp 面向連線,安全,三次握手 一 使用udp實現資料的傳送 1.建立socket端點 2.明確要傳送的資料 3.使用socket的傳送功能傳送資料 datagramsocket socket new datagramsocket 建立socket物件 s...