第十六天日常更新 網路程式設計

2021-09-24 12:28:43 字數 2094 閱讀 7986

今天來分享一些網路程式設計的小知識

ip:定位網路中的不同節點(電子裝置:手機,電腦,路由器…)

ipv4 4個位元組 32位 ipv6

特殊的ip:

192.168.0.0~192.168.255.255 區域網內部使用

127.0.0.1 本地ip

localhost 本地網域名稱

ip和網域名稱: dns網域名稱解析伺服器

inetaddress 此類表示網際網路協議 (ip) 位址。

埠:區分不同軟體

0~65535 2個位元組

統一協議下埠不能衝突

設定埠號時盡量越大越好

預留埠號:8000

常見埠號:

inetsocketaddress 此類實現 ip 套接字位址(ip 位址 + 埠號)。

url:統一資源定位符 區分不同的資源

網際網路的三大基石: http html url

協議:網域名稱:

埠:資源:

ocket套接字:傳輸層為應用層開闢的通道(小口子)

不同的協議針對於socket的實現是不同的

傳輸層協議之間的區別:

tcp: 相當於打** 基於面向連線的 安全 基於io流傳輸 占用資源多,開銷大,效率低 3次握手:1.請求 2.回應 3.傳輸

udp: 相當於寫信 非面向連線的 只管傳送 不安全 開銷小,效率高 大小有限制 一般不超過60k 基於位元組陣列

udp實現socket程式設計:

datagramsocket:定義傳送端和接收端

datagrampacket:資料的包裹

1.datagramsocket 指定埠 定義傳送端 datagramsocket(int port)

2.準備資料 ,轉為位元組陣列

3.datagrampacket 打包

4.傳送 void send(datagrampacket p) 從此套接字傳送資料報包。

5.關閉資源

public class udpsend 

}

udp實現接收端:基本流程

1.datagramsocket 指定埠號 定義接收端

2.準備位元組陣列,進行打包(用來接收資料,把資料接收到包裹裡面的位元組資料中)

3.接收

4.處理資料

5.關閉

public class udpreceive 

}

udp傳輸檔案:傳送端

1.定義傳送端

2.從檔案中讀取資料到程式 位元組陣列

3.打包

4.傳送

5.關閉

public class udpfilesend 

//5.關閉

is.close();

send.close();

}}

udp傳輸檔案:接收端

1.定義接收端

2.準備位元組陣列

3.打包準備接收

4.接收(阻塞式)

5.位元組輸出流寫出到本地

6.關閉

public class udpfilereceive 

}

tcp實現服務端:基本流程

1.定義服務端 serversocket

2.阻塞式監聽

3.通過io讀寫

4.關閉

public class server 

}

tcp實現單向使用者登入:客戶端

1.鍵盤接收使用者輸入的使用者名稱和密碼

2.寫出到服務端

public class loginclient 

}tcp實現使用者單向登入:服務端

1.定義服務端 serversocket

2.阻塞式監聽

3.通過io讀資料

4.進行判斷

5.關閉

public class loginserver

Python 第十六天

魔法方法總是被雙下劃線包圍 例如 init 注 魔法方法第乙個引數為cls 類方法 或者self 例項方法 其中 cls 代表乙個類名稱 self 代表乙個例項物件的名稱 基本方法 init self 構造器,當乙個例項被建立的時候呼叫的初始化方法 new cls 是在乙個物件例項化的時候所呼叫的第...

寒假第十六天

abs x 返回數字的絕對值,如abs 10 返回 10 ceil x 返回數字的上入整數,如math.ceil 4.1 返回 5 cmp x,y 如果 x y 返回 1,如果 x y 返回 0,如果 x y 返回 1 exp x 返回e的x次冪 ex 如math.exp 1 返回2.7182818...

python第十六天

一 包 1 什麼是包?一系列模組的集合 2 有什麼用?包通過資料夾來管理一系列功能相近的模組 3 包重點?包中一定有乙個專門用來管理包中所有模組的檔案 init 4 什麼是包名?包名是存放一系列模組的資料夾名字 5 包名有什麼用 包名 包物件 存放的是管理模組的那個檔案的位址,指向其全域性命名空間。...