一、網絡編程概述
1、計算機網絡
- 是指將地理位置不同的具有獨立功能的多台計算機及其外部設備,通過通信線路連接起來,在網絡操作系統,網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。
2、網絡編程
- 就是用來實現網絡互連的不同計算機上運行的程序間可以進行數據交換。
二、網絡編程三要素之IP概述
- IP:每個設備在網絡中的唯一標識。每台網絡終端在網絡中都有一個獨立的地址,我們在網絡中傳輸數據就是使用這個地址。
- cmd命令:
- ipconfig:查看本機IP192.168.12.42
- ping:測試連接192.168.40.62
- 本地回路地址:127.0.0.1
- 廣播地址:255.255.255.255
- IPv4:4個字節組成,4個0-255。大概42億,30億都在北美,亞洲4億。2011年初已經用盡。
- IPv6:8組,每組4個16進制數。
- IPv6:8組,每組4個16進制數。
- 1a2b:0000:aaaa:0000:0000:0000:aabb:1f2f
- 1a2b::aaaa:0000:0000:0000:aabb:1f2f
- 1a2b:0000:aaaa::aabb:1f2f
- 1a2b:0000:aaaa::0000:aabb:1f2f
- 1a2b:0000:aaaa:0000::aabb:1f2f
三、網絡編程三要素之端口號概述
- 端口號:每個程序在設備上的唯一標識
- 每個網絡程序都需要綁定一個端口號,傳輸數據的時候除了確定發到哪台機器上,還要明確發到哪個程序。
- 端口號范圍從0-65535
- 編寫網絡應用就需要綁定一個端口號,盡量使用1024以上的,1024以下的基本上都被系統程序占用了。
- 常用端口
- mysql: 3306
- oracle: 1521
- web: 80
- tomcat: 8080
- QQ: 4000
- feiQ: 2425
當兩個設備同時登陸了3個不同的聊天工具時,這台電腦QQ發送的消息能准確發送到另一台電腦的QQ是因為同一個應用程序有相同的端口號。
四、網絡編程三要素之協議概述
- 協議:為計算機網絡中進行數據交換而建立的規則、標准或約定的集合。
- UDP:面向無連接,數據不安全,速度快。不區分客戶端與服務端。
- TCP: 面向連接(三次握手),數據安全,速度略低。分為客戶端和服務端。
- 三次握手: 客戶端先向服務端發起請求, 服務端響應請求, 傳輸數據
五、Socket通信原理圖解
Socket套接字概述:
- 網絡上具有唯一標識的IP地址和端口號組合在一起才能構成唯一能識別的標識符套接字。
- 通信的兩端都有Socket。
- 網絡通信其實就是Socket間的通信。
- 數據在兩個Socket間通過IO流傳輸。
- Socket在應用程序中創建,通過一種綁定機制與驅動程序建立關系,告訴自己所對應的IP和port。