網路基礎 多執行緒 ftp任務鋪墊

2022-05-14 19:27:59 字數 2820 閱讀 9886

一、網路基礎

學習網路程式設計,了解一些網路基礎的知識是必不可少的,下面學習一些基礎的網路知識:

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 time

import 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()

"""

安裝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)

接收到資料後寫入檔案。

三、ftp任務鋪墊

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排程和執行的單位。執行緒就是獨立的執行路徑 在程式執行時,即...