1、埠:是用埠號來標記的。對於不同的主機上的程序進行通訊(如qq聊天),就需要用埠號來標識程序,進而進行收發資訊。
知名埠:知名端⼝是眾所周知的端⼝號,範圍從
0到1023。如80端⼝分配給
服務 ,21端⼝分配給
ftp服務
動態埠:動態端⼝的範圍是從1024
到65535 。之所以稱為動態端⼝,是因為它⼀般不固定分配某種服務,⽽是動態分配。
動態分配是指當⼀個系統程序或應⽤程式程序需要⽹絡通訊時,它向主機申 請⼀個端⼝,主機從可⽤的端⼝號中分配⼀個供它
使⽤。 當這個程序關閉時,同時也就釋放了所佔⽤的端⼝號 。
2、 ip位址
主機號不能用0和255,1-254可用,如192.168.119.0 用做網路號,192.168.119.255 用做廣播位址
私有ip:在這麼多⽹絡ip
中,國際規定有⼀部分
ip位址是⽤於我們的局域⽹使⽤,也就是屬於私⽹ip
,不在公⽹中使⽤的, 它們的範圍是: 10.0.0.0~
10.255.255.255 172.16.0.0~
172.31.255.255 192.168.0.0~192.168.255.255
子網掩碼
⼦⽹掩碼不能單獨存在,它必須結合
ip位址⼀起使⽤。
⼦⽹掩碼只有⼀個作⽤,
就是將某個
ip
位址劃分成⽹絡位址和主機位址兩部 分⼦⽹掩碼的設定必須遵循⼀定的規則。 與
ip位址相同,⼦⽹掩碼的⻓度也是
32位,
左邊是⽹絡位,⽤⼆進製數字
「1」表示;
右邊是主機位,⽤⼆進製數字
「0」表示。 假設
ip位址為
「192.168.1.1」
⼦⽹掩碼為
「255.255.255.0」。
3、tcp和udp的區別
tcp(比作是打**)傳輸的慢,但是不會丟資料(可靠,穩定),web開發一般用tcp
udp (比作是寫信)傳輸的快,但容易丟資料(不可靠)
4、網路中的程序如何通訊:⽹絡層的「ip位址」可以唯⼀ 標識⽹絡中的主機,⽽傳輸層的「協議+端⼝」可以唯⼀標識主機中的應⽤程式 (程序)。這樣利⽤ip位址,協議,端⼝就可以標識⽹絡的程序了,⽹絡中的程序通訊 就可以利⽤這個標誌與其它程序進⾏互動。
5、網路通訊中的
單工:(模擬於收音機)
半雙工:(模擬於對講機)
全雙工:(模擬於打**) socket就是
6、socket(套接字),是程序間通訊的一種方式,能實現不同主機之間的程序通訊
8、多程序 報錯 eoferror: eof when reading a line ,因為子程序中不能出現input()
解決辦法:。。。。。。。。。。。。。。。。。。。。。
預設閘道器:對於通訊時,目的ip不在同一網段內,那麼會把這個資料**給預設閘道器。
10、dns伺服器採用的是udp協議
11、訪問 www.baidu.com 的整個過程:
12、tcp的三次握手和四次揮手(重要!!!!!!!)
14、單程序tcp伺服器主要有select版,epool版
15、程式分為 計算密集型 和 io密集型
計算密集型:需要占用大量的cpu資源,用多程序來完成,不能用多執行緒,因為多執行緒有乙個gil的問題
io密集型:需要網路功能,大量時間都在等待網路資料的到來,適合用多執行緒、協程來完成
16、http請求方式:
get—— 獲取資料
post—— 修改資料
put—— 儲存資料
delete——刪除
option—— 詢問伺服器的某種支援特性
head —— 返回報文頭
17、
在windows中:
'\r' 回車,回到當前行的行首,而不會換到下一行,如果接著輸出的話,本行以前的內容會被逐一覆蓋;
'\n' 換行,換到當前位置的下一行,而不會回到行首;
unix系統裡,每行結尾只有「《換行》」,即"\n";windows系統裡面,每行結尾是「《回車》《換行》」,即「\r\n」;mac系統裡,每行結尾是「《回車》」,即"\r";。乙個直接後果是,unix/mac系統下的檔案在windows裡開啟的話,所有文字會變成一行;而windows裡的檔案在unix/mac下開啟的話,在每行的結尾可能會多出乙個^m符號。
Python3網路程式設計
python提供了2個級別的訪問翁羅服務 低階別的網路服務支援socket,他提供了標準的bsd sockets api,可以訪問底層作業系統socket介面的全部方法 高階別的網路服務模組socket server,他提供了伺服器中心類,可以簡化伺服器的開發 使用此函式建立套接字,語法 socke...
python3網路程式設計
網路程式設計 通過網路程式設計解決計算機與計算機間的通訊的通訊協議 網路根據地域面積分為三類 區域網,都會網路,廣域網 ip位址由4個8位組成,每位最大不大於255 b類 128.0.0.0 191.255.255.255 c類 192.0.0.0 233.255.255.255 d,e類 多用於組...
python3 網路程式設計
建立服務端 coding utf 8 import socket net socket socket.socket socket.af inet,socket.sock stream net socket.bind 7788 net socket.listen 10 new socket,clien...