今天來分享一些網路程式設計的小知識
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 包名有什麼用 包名 包物件 存放的是管理模組的那個檔案的位址,指向其全域性命名空間。...