網絡基礎與FTP準備

一網絡基礎
1.端口:
端口是爲了將同一臺電腦上的不一樣程序進行隔離
(IP是在找電腦,端口是在找電腦上的程序)
實例:
MySQL是一個軟件,幫助咱們在硬盤上進行操做,默認端口是3306
Redis是一個軟件,幫助咱們在內存裏進行數據操做,默認端口:6379
網站默認端口:80,訪問時:http://www.baidu.com:80 (前面是http)
:443,訪問時:https://www.baidu.com:443 (前面是https)
範圍:
一共:1-65535
內置:1-1024
通常狀況:8000,8001...

2.OSI:七層模型
七層:
應用層 使用的軟件
表示層 看到的數據(如圖片和視頻)
會話層 保持登陸或連接狀態 應用偷偷攜帶一點其餘數據:令牌 19rRNAwf8GVe6xyT9kJPIu5SlQc
傳輸層 TCP/UDP [TCP][基礎數據|令牌]
網絡層 IP [IP][TCP][基礎數據|令牌]
數據鏈路層 MAC [MAC][IP][TCP][基礎數據|令牌]
物理層 將數據轉換成電信號發送(01010101010101)
五層:
應用層
應用層 表示層
會話層
傳輸層
網絡層
數據鏈路層
物理層
四層:
應用層
應用層 表示層
會話層
傳輸層
網絡層
物理層 數據鏈路層
物理層


3.三次握手四次揮手
客戶端向服務端發起鏈接請求:三次握手
client.connent()
客戶端 服務端
我能鏈接你嗎
好的
我來了
client.connect()
客戶端和服務端斷開鏈接:四次揮手
client.close() 或 conn.close()
客戶端 服務端
我要跟你斷開鏈接
斷開吧,等我處理一下
...
處理完了,斷開吧
拜拜
4.斷開鏈接時會拋異常(Windows)或發送一個空的字符串(Linux或max)

二.FTP準備
1.\r
print('\r80%',end=' ') #\r的意思是跳到當前行的最前面,而且會覆蓋後面的內容
print('\r90%',end=' ')

2.%%
tpl='進度條目前是%s%%' % 90
print(tpl)

3.進度條
import time
def func(size,total_size):
val=int(size/total_size*100)
print('\r%s%%|' % val+'#'*int(size/3),end=' ')
time.sleep(0.1)
for i in range(1,101):
func(i,100)

4.計算文件字節大小
import os
size=os.stat(r'C:\Users\Administrator\PycharmProjects\untitled3\test1.py').st_size
print(size)
size1=os.path.getsize(r'C:\Users\Administrator\PycharmProjects\untitled3\test1.py')
print(size1)

5.打印表情
print('\ue409')

6.send仍是sendall
推薦sendall,發的全

7.自定義協議:
本身以爲定義一個對象能夠簡化代碼,就能夠自定義一個協議


8.狀態碼
在某個地方定義好
{'1001':'上傳文件','1002':'下載文件'}
也能夠是其餘類型

9.把字符串轉換成字節
若是不存在中文的話,能夠在前面加一個b來快速轉換
相關文章
相關標籤/搜索