一、網絡通信協議
1.TCP協議
傳輸控制協議 (Transmission Control Protocol)。TCP協議是面向連接的通信協議,即傳輸數據之前,在發送端和接收端建立邏輯連接,然後再傳輸數據。
TCP協議中,在發送數據的準備階段,客戶端與服務器之間的三次交互,以保證連接的可靠。常用於,下載文件、瀏覽網頁等。
2.UDP協議
用戶數據報協議(User Datagram Protocol)。UDP協議是一個面向無連接的協議。傳輸數據時,不需
要建立連接,不管對方端服務是否啓動,直接將數據、數據源和目的地都封裝在數據包中,直接發送。每個
數據包的大小限制在64k以內。它是不可靠協議,因爲無連接,所以傳輸速度快,但是容易丟失數據。日常應
用中,例如視頻會議、QQ聊天等。
二、ip地址
IPv4:是一個32位的二進制數,通常被分爲4個字節,表示成 a.b.c.d 的形式,例如 192.168.65.100
IPv6:由於互聯網的蓬勃發展,IP地址的需求量愈來愈大,但是網絡地址資源有限,使得IP的分配越發緊張。
檢查網絡是否連通,在控制檯輸入
ping 空格 IP地址
ping 220.181.57.216
三、端口號
如果說IP地址可以唯一標識網絡中的設備,那麼端口號就可以唯一標識設備中的進程(應用程序)了。
端口號:用兩個字節表示的整數,它的取值範圍是0~65535。其中,0~1023之間的端口號用於一些知名的網
絡服務和應用,普通的應用程序需要使用1024以上的端口號。如果端口號被另外一個服務或應用所佔用,會
導致當前程序啓動失敗。
利用 協議 + IP地址 + 端口號 三元組合,就可以標識網絡中的進程了,那麼進程間的通信就可以利用這個標識與其
它進程進行交互
四、TCP通信程序
TCP通信能實現兩臺計算機之間的數據交互,通信的兩端,要嚴格區分爲客戶端(Client)與服務端(Server)
1. 客戶端: java.net.Socket 類表示。創建 Socket 對象,向服務端發出連接請求,服務端響應請求,兩者建立連接開始通信。
2. 服務端: java.net.ServerSocket 類表示。創建 ServerSocket 對象,相當於開啓一個服務,並等待客戶端的連接。
五、內網外網