day 31 网络基础的补充

一、网络基础

1、端口

 1 - 端口,是什么?为什么要有?
 2     端口是为了将同一个电脑上的不同程序进行隔离。
 3 
 4     IP是找电脑
 5     端口是找电脑上的程序
 6     
 7     示例:
 8         MySQL是一个软件,软件帮助我们在硬盘上进行文件操作。默认端口:3306
 9         Redis是一个软件,软件帮助我们在内存里进行数据操作。默认端口:6379
10         网站默认端口:80 ,访问时:http://www.luffycity.com:80
11         网站默认端口:443 ,访问时:https://www.luffycity.com:443
12 
13     范围:
14         1 - 65535
15         1 - 1024
    一般情况:
      8001、8000

2、OSI 7层模型

 1 7层:
 2     自己写的代码:自己代码+框架
 3         应用层,使用软件。                      打开软件或网站
 4         表示层,看到数据,如图片和视频。      生产数据:szwwd
 5         会话层,保持登录或链接状态。          应用偷偷携带一点其他数据:令牌 19rRNAwf8GVe6xyT9kJPIu5SlQc
 6         
 7     socket模块:
 8         传输层,TCP/UDP                          [TCP][szwwd|19rRNAwf8GVe6xyT9kJPIu5SlQc]
 9         网络层,IP                            【IP】【[TCP][szwwd|19rRNAwf8GVe6xyT9kJPIu5SlQc]】
10         数据链路层,MAC                          [MAC][【IP】【[TCP][szwwd|19rRNAwf8GVe6xyT9kJPIu5SlQc]】]
11         物理层,将数据转换成电信号发送
12 
13 5层:
14              应用层
15     应用层    表示层
16              会话层
17     传输层
18     网络层
19     数据链路层
20     物理层
21 4层:
22              应用层
23     应用层    表示层
24              会话层
25     传输层
26     网络层
27     物理层    数据链路层
28              物理层
29 
30 注意:7层背会。

3、TCP三次握手、四次挥手

 1 socket客户端向服务端发起连接请求:三次握手
 2         client.connect((....))
 3             客户端              服务端
 4             我能打你吗
 5                                 来呀来呀
 6             好的,我这就来
 7             -----------------------------
 8         client.send('发送数据')
 9             收发数据             收发数据 
10             
11 客户端和服务端断开连接:四次挥手
12         client.close() 或 conn.close()
13             -----------------------------
14             我要断开连接
15                                 断开就断开,等我处理一些手头的事情
16                                 ...
17                                 我处理完了,断开吧。
18             拜拜                    
19             
20 
21 补充:断开连接时,反应到代码上:抛出异常/发送空内容;
22                 
23     总结:了解网络相关知识。        
25         你与科班出人的人区别:
26             1. 计算机组成原理
27             2. 网络 
28             3. 数据结构
29             4. 算法 
30             牛逼大学的人+考研的人

二、FTP作业相关

1、进度条

""""""
# 第一个知识点
"""
import time
print('\r80%',end='')   #\r是返回该行首位置  end=''  默认end是等于换行
time.sleep(2)
print('\r90%',end='')
"""
# 第二个知识点
"""
tpl = "进度条目前是%s%%" %(90,)
print(tpl)
"""

import time

def func(size,total_size):
    val = int(size/total_size * 100)
    time.sleep(0.1)
    print('\r%s%%|%s' %(val,"#"*val,), end='')

for i in range(101):
    func(i,100)

2、计算文件大小

import os

size = os.stat(r'D:\sylar\s15\day31\1.进度条.py').st_size
print(size)

3、修改文件名称

import os
import shutil

# py2 + win:报错
# os.rename('a.text','b.txt')

# py2+py3
shutil.move('c.txt','a.txt')

# shutil.rmtree('D:\sylar\s15\day30')

猜你喜欢

转载自www.cnblogs.com/xiaobai686/p/11802626.html