1. 程式人生 > >Java之網絡編程

Java之網絡編程

監聽 短信 細節 工作 控制 lnp 可靠性 ont 模式

1.網絡編程的基本概念

1.1 網絡的概念

  • 網絡:一組相互連接的計算機,多臺計算機組成,使用物理線路進行連接

技術分享圖片

1.2 網絡連接的功能

技術分享圖片

1.3 網絡編程的三要素

  • 1) IP 地址:唯一標識網絡上的每一臺計算機,兩臺計算機之間通信的必備有素
  • 2) 端口號:計算機中應用的標號(代表一個應用程序),0-1024 系統使用或保留端口 ,端號口占 2 個字節,所以有效端口 0-65535。
  • 有效端口 0-65535

技術分享圖片

2.IP_端口_Socket 含義

2.1IP 地址

  • IP 地址用於標識網絡上的唯一一臺計算機,共 32 位,4 個 8位二進制數組成
  • IP 地址分為:IPv4 和 IPv6
  • IPv4:“點分十進制表示法”
  • IPv6:“十六進制表示法”

技術分享圖片

  • IP 地址=網絡 ID+主機 ID
  • 網絡 ID:標識計算機或網絡設備所有的網段
  • 主機 ID:標識特定的主機或網絡設備

技術分享圖片

特殊 IP 地址:

  • 1) 127.0.0.1:本機回環地址,用於本機測試
  • 2) 255.255.255.255:當前子網,一般用於當前子網廣播信息

2.2 端口號

  • 端口號:虛擬的概念,使用 0-65535 之間的整數,用於標識不同的應用程序
  • 每個網絡程序都會至少有一個端口號

技術分享圖片

2.3Socket 含義


Socket 稱為“套接字”,是計算機之間通信的一種約定或一種方式,通過 Socket 這種約定,一臺計算機可以接收其他計算機的數據,也可以向其他計算機發送數據。

每一個客戶端都使用一個 Socket 對象表示,服務器端使用 ServerSocket 等待客戶端的連接。

技術分享圖片

生活案例:

如果你想寫封郵件發給遠方的朋友,如何寫信、將信打包,
屬於應用層。信怎麽寫,怎麽打包完全由我們做主;
而當我們將信投入郵筒時,郵筒的那個口就是套接字,在
進入套接字之後,就是傳輸層、網絡層等(郵局、公路交管
或者航線等)其它層次的工作了。我們從來不會去關心信是
如何從西安發往北京的,我們只知道寫好了投入郵筒就 OK

技術分享圖片

3.TCP 和 UDP 協議的區別

3.1 數據的傳輸

網絡參考模式

  • (1) OSI 參考模式:開放系統互連參考模型(Open System

Interconnect)

技術分享圖片

  • (2) TCP/IP 參考模型:傳輸控制/網際協議 Transfer ControlnProtocol/Internet Protocol

技術分享圖片

3.2TCP 和 UDP 協議的區別

Tcp(transfer control protocol)

一種面向連接(連接導向)的、可靠的、基於字節流的運輸層(Transport layer)通信協議。

技術分享圖片

特色

  • (1)面向連接
  • (2)點到點的通信
  • (3)高可靠性:三次握手
  • (4)占用系統資源多、效率低

生活案例

打電話

UDP(User DatagramProtocol)

一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。

特點

(1)非面向連接,傳輸不可靠,可能丟失

(2)發送不管對方是否準備好,接收方收到也不確認

(3)數據報的大小限制在64k內

(4)非常簡單的協議,開銷小

生活案例

(1)發送短信 發電報

技術分享圖片

4.TCP 協議數據傳遞細節

4.1TCP 通信原理

  • 服務器創建 ServerSocket,在指定端口監聽並處理請求
  • 客戶端創建 Socket,向服務器發送請求

技術分享圖片

技術分享圖片

技術分享圖片

Java之網絡編程