elasticsearch入門系列">elasticsearch入門系列
765
2022-05-30
一、網絡編程入門
1.網絡編程概述
計算機網絡
是指將地理位置不同的具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來,在網絡操作系統,網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統
網絡編程
在網絡通信協議下,不同計算機上運行的程序,可以進行數據傳輸
2.網絡編程三要素
IP地址
要想讓網絡中的計算機能夠互相通信,必須為每臺計算機指定一個標識號,通過這個標識號來指定要接收數據的計算機和識別發送的計算機,而IP地址就是這個標識號。也就是設備的標識
端口
網絡的通信,本質上是兩個應用程序的通信。每臺計算機都有很多的應用程序,那么在網絡通信時,如何區分這些應用程序呢?如果說IP地址可以唯一標識網絡中的設備,那么端口號就可以唯一標識設備中的應用程序了。也就是應用程序的標識
協議
通過計算機網絡可以使多臺計算機實現連接,位于同一個網絡中的計算機在進行連接和通信時需要遵守一定的規則,這就好比在道路中行駛的汽車一定要遵守交通規則一樣。在計算機網絡中,這些連接和通信的規則被稱為網絡通信協議,它對數據的傳輸格式、傳輸速率、傳輸步驟等做了統一規定,通信雙方必須同時遵守才能完成數據交換。常見的協議有UDP協議和TCP協議
3.IP地址
IP地址:是網絡中設備的唯一標識
IP地址分為兩大類
IPv4:是給每個連接在網絡上的主機分配一個32bit地址。按照TCP/IP規定,IP地址用二進制來表示,每個IP地址長32bit,也就是4個字節。例如一個采用二進制形式的IP地址是“11000000 10101000 00000001 01000010”,這么長的地址,處理起來也太費勁了。為了方便使用,IP地址經常被寫成十進制的形式,中間使用符號“.”分隔不同的字節。于是,上面的IP地址可以表示為“192.168.1.66”。IP地址的這種表示法叫做“點分十進制表示法”,這顯然比1和0容易記憶得多
IPv6:由于互聯網的蓬勃發展,IP地址的需求量愈來愈大,但是網絡地址資源有限,使得IP的分配越發緊張。為了擴大地址空間,通過IPv6重新定義地址空間,采用128位地址長度,每16個字節一組,分成8組十六進制數,這樣就解決了網絡地址資源數量不夠的問題
DOS常用命令:
ipconfig:查看本機IP地址
ping IP地址:檢查網絡是否連通
特殊IP地址:
127.0.0.1:是回送地址,可以代表本機地址,一般用來測試使用
4.InetAddress
InetAddress:此類表示Internet協議(IP)地址
相關方法
代碼演示
public class InetAddressDemo { public static void main(String[] args) throws UnknownHostException { //InetAddress address = InetAddress.getByName("itheima"); InetAddress address = InetAddress.getByName("192.168.1.66"); //public String getHostName():獲取此IP地址的主機名 String name = address.getHostName(); //public String getHostAddress():返回文本顯示中的IP地址字符串 String ip = address.getHostAddress(); System.out.println("主機名:" + name); System.out.println("IP地址:" + ip); } }
5.端口和協議
端口
設備上應用程序的唯一標識
端口號
用兩個字節表示的整數,它的取值范圍是0~65535。其中,0~1023之間的端口號用于一些知名的網絡服務和應用,普通的應用程序需要使用1024以上的端口號。如果端口號被另外一個服務或應用所占用,會導致當前程序啟動失敗
協議
計算機網絡中,連接和通信的規則被稱為網絡通信協議
UDP協議
用戶數據報協議(User Datagram Protocol)
UDP是無連接通信協議,即在數據傳輸時,數據的發送端和接收端不建立邏輯連接。簡單來說,當一臺計算機向另外一臺計算機發送數據時,發送端不會確認接收端是否存在,就會發出數據,同樣接收端在收到數據時,也不會向發送端反饋是否收到數據。
由于使用UDP協議消耗系統資源小,通信效率高,所以通常都會用于音頻、視頻和普通數據的傳輸
例如視頻會議通常采用UDP協議,因為這種情況即使偶爾丟失一兩個數據包,也不會對接收結果產生太大影響。但是在使用UDP協議傳送數據時,由于UDP的面向無連接性,不能保證數據的完整性,因此在傳輸重要數據時不建議使用UDP協議
TCP協議
傳輸控制協議 (Transmission Control Protocol)
TCP協議是面向連接的通信協議,即傳輸數據之前,在發送端和接收端建立邏輯連接,然后再傳輸數據,它提供了兩臺計算機之間可靠無差錯的數據傳輸。在TCP連接中必須要明確客戶端與服務器端,由客戶端向服務端發出連接請求,每次連接的創建都需要經過“三次握手”
三次握手:TCP協議中,在發送數據的準備階段,客戶端與服務器之間的三次交互,以保證連接的可靠
第一次握手,客戶端向服務器端發出連接請求,等待服務器確認
第二次握手,服務器端向客戶端回送一個響應,通知客戶端收到了連接請求
第三次握手,客戶端再次向服務器端發送確認信息,確認連接
完成三次握手,連接建立后,客戶端和服務器就可以開始進行數據傳輸了。由于這種面向連接的特性,TCP協議可以保證傳輸數據的安全,所以應用十分廣泛。例如上傳文件、下載文件、瀏覽網頁等
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。