Java基礎——網路程式設計
一、網路程式設計三要素
IP地址、埠、協議(UDP/TCP等)
IP地址:網路中電腦的唯一標識
二、InetAddress類
為了方便獲取和操作IP地址,Java提供了InetAddress類
InetAddress:此類表示Ineternet協議地址(IP地址)
有以下三種常用方法
方法名 | 說明 |
---|---|
static InetAddress getByName(String host) | 確定主機名稱的IP地址,主機名稱可以是機器名稱,也可以是IP地址 |
String getHostName() | 獲取此IP地址的主機名 |
String getGostAddress() | 返回文字顯示中的IP地址字串 |
package Demo041901;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class InetAddressDemo {
public static void main(String[] args) throws UnknownHostException {
//static InetAddress getByName(String host)確定主機名稱的IP地址,主機名稱可以是機器名稱,也可以是IP地址
InetAddress Address = InetAddress.getByName("cy");
//InetAddress Address = InetAddress.getByName("192.168.101.7");
//String getHostName()獲取此IP地址的主機名
String name = Address.getHostName();
//String getGostAddress()返回文字顯示中的IP地址字串
String ip = Address.getHostAddress();
System.out.println("主機名為"+name);
System.out.println("ip為"+ip);
}
}
三、埠
埠:裝置上應用程式的唯一標識
埠號:用兩個位元組表示的整數,它的取值範圍是0-65535,其中0-1023之間的埠號用於一些知名的網路服務和應用,普通的應用程式需要使用1024以上的埠號,如果埠號被另一個服務或應用所佔,會導致當前程式啟動失敗
四、協議
協議:計算機網路中,連線和通訊的規則被稱為網路通訊協議
UPD協議:
1.全稱為使用者資料報協議
2.UPD是無連線通訊協議,即在資料傳輸時,資料的傳送端和接收端不建立邏輯連線。簡單來說,當一臺計算機向另外一臺計算機發送資料時,傳送端不會事先確認接收端是否存在,而是直接傳送,同樣接收端也不會向傳送端反饋受否收到資料
3.UDP協議消耗資源小,通訊效率高,所以通常用於音訊、視訊和普通資料的傳輸例如視訊會議
4.由於UDP的面向無連線性,不能保證資料的完整性,因此在傳輸重要資料時不建議使用
TCP協議:
1.全稱為傳輸控制協議
2.TCP協議是面向連線的通訊協議,即傳輸資料之前,在傳送端和接收端建立邏輯連線,然後再傳輸資料,它提供了兩臺計算機之間的可靠無差錯的資料傳輸。在TCP連線中必須要明確客戶端與服務端,由客戶端向服務端傳送連線請求,每次連線的建立都要經過“三次握手”
3.三次握手:TCP協議中,在傳送資料的準備階段,客戶端與伺服器之間的三次互動,以保證連線的可靠
第一次握手:客戶端向服務端傳送連線請求,等待服務端確認
第二次握手:服務端向客戶端傳送一個響應,通知客戶端收到了請求
4.完成三次握手後,連線建立,就可以進行資料傳輸了。由於面向連線的特性,TCP協議可以保證傳輸資料的安全,所以應用十分廣泛
例如:瀏覽網頁、上傳、下載檔案等