1. 程式人生 > >Java:網路程式設計基礎

Java:網路程式設計基礎

網路通訊的三個條件
  • IP地址
    網路中裝置的標識,不易記憶,可用主機名

  • 用於標識程序的邏輯地址,不同程序的標識
  • 協議
    通訊的規則,如TCP,UDP

IP地址

IP地址的組成:網路號+主機號共4×8 32位

A類IP地址:第一段號碼為網路號碼,後三段號碼為本地計算機的號碼
B類IP地址:前二段號碼為網路號碼,後二段號碼為本地計算機的號碼
C類IP地址:前三段號碼為網路號碼,後一段號碼為本地計算機的號碼
D類 E類 保留

特殊地址
127.0.0.1 迴環地址,代表本機

xxx.xxx.xxx.0 網路地址
xxx.xxx.xxx.255 廣播地址

A類 1.0.0.1—127.255.255.254 (1)10.X.X.X是私有地址(私有地址就是在網際網路上不使用,而被用在區域網絡中的地址) (2)127.X.X.X是保留地址,用做迴圈測試用的。
B類 128.0.0.1—191.255.255.254 172.16.0.0—172.31.255.255是私有地址。169.254.X.X是保留地址。
C類 192.0.0.1—223.255.255.254 192.168.X.X是私有地址
D類 224.0.0.1—239.255.255.254
E類 240.0.0.1—247.255.255.254

DOS命令
ipconfig:檢視本機IP地址
ping IP 測試本機與目的的連通性


埠號
  • 物理埠 網絡卡埠
  • 邏輯埠
    每個網路程式至少有一個邏輯埠
    用於標識程序的邏輯地址,至少有一個邏輯埠
    有效埠:0~65535,其中0~1024系統使用或保留埠

協議
  • UDP
    資料打包 大小在限制在64K
    不建立連線
    不可靠
    速度快
  • TCP
    建立連線,形成傳輸資料的通道
    可進行大資料量傳輸
    可靠
    因建立連線,速度稍慢

Java下的網路程式設計
  • InetAddress類
//類方法
getByAddress(byte[] addr)//根據原始IP地址返回地址
getByAddress(String host,byte[] addr)
//根據提供的主機名和IP地址返回地址 getByName()//根據主機名獲取地址 getLocalHost()//獲取本機地址 getLoopbackAddress()//返回回送地址 Windows中127.0.0.1作為本地回送地址
  • URL類
    待補充

  • Socket類

Socket:即(套接字),網路上具有唯一標識的IP地址和埠號組合在一起即構成唯一能識別的套接字
Socket通訊機制:
  a.通訊的兩端都有Socket
  b.網路通訊其實就是Socket間的通訊
  c.資料在兩個Socket間通過I/O流傳輸

Socket類實現了客戶端Socket,SeverSocket類實現了伺服器端的Socket
通訊機制如下圖,其中I/O流型別應相同(相對於字元流,位元組流)

Socket通訊原理


2018/8/8