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