1.1 軟件結構
C/S結構:全稱Client/Server,是指客戶端/服務器結構,常見的有QQ、迅雷等。
B/S結構:全稱Browser/Server結構,是指瀏覽器和服務器結構。常見的有谷歌、IE瀏覽器。
不論如何,兩種架構都離不開網絡的支持,在一定的協議下實現兩臺計算機的通信。
1.2 網絡通信協議
網絡通信協議:是計算機之間通信必須遵循的規則。協議規定了數據傳輸的格式、傳輸的速率、傳輸的步驟等。
TCP/IP協議:傳輸控制協議/因特網互連協議(Transmission Control Protocol/Internet Protocol)。它定義了計算機如何連入因特網,以及數據如何在他們之間傳輸的標準。
1.3 協議分類
java.net包提供了兩種常見的網絡協議的支持:
TCP:傳輸控制協議(Transmission Control Protocol)面向連接的通信協議,即傳輸數據之前,在發送端和接收端建立邏輯連接,然後再傳輸數據,安全可靠,應用廣泛,如下載文件、瀏覽網頁。
UDP:用戶數據報協議(User Datagram Protocol)面向無連接的通信協議,傳輸數據時,不需要建立連接。不管對方服務是否啓動,直接將數據、數據源和目的地封裝在數據包中,直接發送。每個數據包大小限制在64KB以內。雖傳輸速度快,但是易丟失,日常應用如視頻會議、QQ聊天等。
1.4 網絡編程三要素
協議:計算機網絡通信協議。
IP地址:用於定位互聯網中計算機。
查看本機IP
ipconfig
檢查網絡是否連通
ping IP地址
端口號:區分同一臺計算機中不同的應用進程。兩個字節表示的整數,取值範圍0~65535,0~1023Windows應用,程序一般使用1024以上的端口號。
協議+IP地址+端口號可以標識網絡中的進程,進程間可以利用這種標識實現通信。