<span style="color: rgb(255, 0, 0); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">網絡編程概述:</span>
網絡編程是指編寫與其它計算機進行通信的程序。Java已經將網絡程序所需要的東西封裝成不同的類。
只要創建這些類的對象,使用相應的方法,即使設計人員不具備有關的網絡知識,也可以編寫出高質量的網絡通信程序。
1.網絡模型
(1)OSI參考模型(2)TCP/IP參考模型
2.網絡通訊要素
(1)IP地址(InetAddress已經封裝成了對象)
1、網絡中設備的標識
2、不易記憶,可用主機名
3、本地IP地址:127.0.0.1 主機名:Localhost。
(2)端口號(數字標識,沒有必要封裝成對象)
1、用於標識進程的邏輯地址,不同進程的標識。
2、有效端口:0~65535,其中0~1024系統使用或保留端口。
(3)傳輸協議
1、通訊的規則。
2、常見協議:TCP,UDP。
網絡編程-IP地址
由於IP地址是一個複雜的事物,Java已經將它封裝成了對象。
類 InetAddress
static InetAddress
getLocalHost()
返回本地主機。
String
getHostAddress()
返回 IP 地址字符串(以文本表現形式)。String
getHostName()
獲取此 IP 地址的主機名。
static InetAddress
getByName(String host)
在給定主機名的情況下確定主機的 IP 地址。
網絡編程-UDP-TCP
UDP 特點:(面向無連接)
1、將數據及源和目的封裝在數據包中,不需要建立連接。(封包,無連接)
2、每個數據包的大小限制在64k內。(小數據)
3、因無連接,是不可靠協議。(不可靠,丟數據)
4、不需要建立連接,速度快。(速度快)TCP 特點:(面向連接)
1、建立連接,形成傳輸數據的通道。(連接)
2、在連接中進行大數據量傳輸。(大數據)
3、通過三次捂手完成連接,是可靠協議。(可靠)
4、必須建立連接,效率會稍低。(速度慢)
網絡編程-Socket(Socket也稱套接字)
1、Socket就是爲網絡通信提供的一種機制。
2、通信的兩端都有Socket。
3、網絡通信其實就是Socket間的通信。
4、數據在兩個Socket間通過IO傳輸。
網絡編程——域名解析