一网络基础
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来快速转换

最新文章

  1. Navsion二次开发_学习笔记
  2. 2016java技术岗面试题
  3. CentOS 6 日期 时间,时区,设置修改及时间同步
  4. POJ2699 The Maximum Number of Strong Kings(最大流)
  5. linux开关端口问题
  6. [Windows] Visual Studio 2010 快捷键大全
  7. SpingMVC ModelAttribute的用法
  8. C语言初学 数组 打印菱形
  9. margin-top、margin-bottom的一些分析
  10. day08 文件操作
  11. Linux 的文件权限和目录配置
  12. linx6.7 update openssh to 7.7p1
  13. 2018-11-04 在线代码离线翻译Chrome插件"一马"v0.0.14
  14. eclipse 部署项目
  15. matlab转c++代码实现(主要包含C++ std::vector,std::pair学习,包含数组与常数相乘,数组相加减,将数组拉成一维向量,图片的读入等内容)
  16. Liferay7 BPM门户开发之21: 理解消息总线(Message Bus)体系
  17. nginx;keepalived配置出现主主的解决方法(脑裂问题)
  18. 2018.08.31 16:26 调试 Swift 和 Pycharm 与 github 之间的链接
  19. List,Set的区别
  20. 基于资源名的MVC权限控制

热门文章

  1. Dictionary实现(收藏的)
  2. 手动安装配置Android Studio
  3. In partitioned databases, trading some consistency for availability can lead to dramatic improvements in scalability.
  4. java基础篇---文件上传(组件)
  5. Delphi png、bmp、gif等图片格式转换成jpg
  6. .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  7. Gradle Android它自己的编译脚本教程的最新举措(提供demo源代码)
  8. windows 的使用 —— 注册表(软件的安装和卸载)
  9. hann function
  10. Nginx http filter异常排查