一、網路基礎
學習網路程式設計,了解一些網路基礎的知識是必不可少的,下面學習一些基礎的網路知識:
1、我們的電腦裡有網絡卡,網絡卡裡有mac位址;
2、我到某個地方插上網線,路由器或交換機中的dhcp服務為我自動分配ip位址。
ip: 192.168.13.84
ipv4
00000000.00000000.00000000.00000000
0~255 0~255 0~255 0~255
ipv6
00000000.00000000.00000000.00000000.00000000.00000000
子網掩碼:255.255.255.0
閘道器ip:192.168.13.1
區域網內、都會網路、廣域網:
廣播單播
廣播風暴
arp協議
3、dns
網路連線:
- 網域名稱解析
- 連線
sk = socket.socket()
sk.connect(('47.95.64.113',80))
問題來了,網域名稱和ip的對應關係在**?
本地:win本地電腦:
linux/mac電腦:
/etc/hosts
dns伺服器:全球頂級dns伺服器13臺
www.luffycity.com 47.95.64.113
創業: a. 租乙個伺服器+公網ip
b. 租網域名稱
網域名稱+ip解析
總結:1. dhcp,自動位區域網內容電腦分配ip。
2. 閘道器,路由器中連線交換機的口。
3. ip,4個點分的十進位制表示 192.11.111.11
4. 子網掩碼,
ip: 192.168.13.99
掩碼:255.255.255.0
將擋住的ip位數作為網段。
未擋住的部分作為可變的值。
5. 區域網/都會網路/廣域網
6. arp協議
7. dns
二、多執行緒
執行緒,英文是thread,每個正在系統上執行的程度都是乙個程序。每個程序包含一到多個執行緒。執行緒是程式中乙個單一的順序控制流程,在單個程式中同時執行多個執行緒完成不同的工作,稱為多執行緒
socket和執行緒配合的示例
import timeimport socket
import threading
def task(conn):
time.sleep(2)
data = conn.recv(1024)
print(data)
conn.close()
server = socket.socket()
server.bind(('127.0.0.1',8001,))
server.listen(5)
while true:
conn,addr = server.accept()
t = threading.thread(target=task,args=(conn,))
t.start()
"""三、ftp任務鋪墊安裝requests模組:在終端執行如下命令自動安裝(連網狀態):
pip3 install requests
"""import
threading
import
requests
import
uuid
url_list =[
'','',
'',]
deftask(url):
"""1. dns解析,根據網域名稱解析出ip
2. 建立socket客戶端 sk = socket.socket()
3. 向服務端發起連線請求 sk.connect()
4. 傳送資料(我要) sk.send(...)
5. 接收資料 sk.recv(8096)
接收到資料後寫入檔案。
1. 多使用者同時登陸: socketserver
2. 使用者登陸,加密認證: md5加密
4. 傳輸過程中現實進度條
7. 使用者登陸server後,可在家目錄許可權下切換子目錄:
客戶端向服務端發命令,subprocess.popen(命令)
8. 檢視當前目錄下檔案,新建資料夾 : 執行命令
9. 刪除檔案和空資料夾 : 執行命令
10. 充分使用物件導向知識+反射
11. 支援斷點續傳 :斷點續傳
多執行緒處理任務
進行任務分解 long begin system.currenttimemillis list futurelist this.getsmoothdatafuture fundidlist,30 阻塞等待所有執行緒全部執行完畢 for futurefuture futurelist log.info...
多執行緒處理任務
業務需求是這樣 接受大量效能資料,要求多執行緒處理效能資料,且在任一時刻同種效能資料只能有一條在處理。這裡有5個類 processscheduler 入口,用於接受效能資料,並將每條效能資料加到佇列中處理 actionexecutor 執行緒池包裝類 actionqueue 任務佇列類,用於儲存同種...
多執行緒學習 任務,程序,執行緒
多個任務都在做,其實本質上我們的大腦在同一時間依舊只做了一件事情。程式是指令和資料的有序集合,其本身沒有任何執行的含義,是乙個靜態的概念。通常在乙個程序中可以包含若干個執行緒,當然乙個程序至少有乙個執行緒,不然沒有存在的意義。執行緒是cpu排程和執行的單位。執行緒就是獨立的執行路徑 在程式執行時,即...