Java之網絡編程
阿新 • • 發佈:2019-02-07
監聽 短信 細節 工作 控制 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之網絡編程