zoukankan      html  css  js  c++  java
  • Pyhton学习——Day31

    # 服务端和接收端的send和reve没有任何关系,只与协议之间有关系
    # 应用程序产生的数据一定会交给操作系统,并由操作系统往外发送
    # 发送端什么时候会清空自己的内存?
    # 收到接收端的ACK响应以后才会清除自己的缓存
    # 粘包的本质在于接收端在缓存接收,不知道从缓存区接收多少
    # 粘包的两种情况:1.发送间隔短,数据量小;2.接收数据量过大
    # 接收和发送数据一次不要超过8k(8096个字节),否则会失真
    # socket的sendall方法,MTU值最多能发送1500Bytes,就是说发送数据大时,按照分段发出再重新组合,分段越大,再组合就越复杂
    # 重新组合后接收的数据丢失的可能性就越大
    # 解决粘包的思路:在发包之前告诉接收端发出的数据大小
    # 解决无法用socket实现并发,需要使用socket server实现并发
    # 多线程服务端,可以实现并发,可以同时开启多个任务等待链接,ThreadingTCPServer(tuple格式的(ip+prot),类名)
    #详细代码请见Socket_Server_31 Socket_Client_31 Socket_Client_31_1
    # socketserver模块介绍
    # BaseServer是socket模块内部定义的一个类
    # server类:处理链接
    # GrandPa Dad Son
    # | | |
    # BaseServer<--TCPServer---<UDPServer
    # BaseServer
    # TCPServer
    # UDPServer
    # UnixStreamServer
    # UnixDatagramServer
    #######################################################################################################
    # request类:处理通信
    # BaseRequestHandler
    # StreamRuquestHandler 流式传输处理方法
    # DatagramRuquestHandler 数据报传输方法
    # ForkingMixIn
    # Forking:进程,与并发有关,ForkingServer多进程的开销高于多线程
    # Threading:线程,与并发有关,
    # 对于TCP来说self.ruquest接收到的是coon,
    # 对于UDP来说self.request接收到的就是实际的消息
    Win a contest, win a challenge
  • 相关阅读:
    (转)样本方差的期望
    (转)Python 字典排序
    曝光补偿
    python判断字符串是否包含子字符串
    python requests接口测试 -----博客园串接口
    jmeter+ant+jenkins 搭建接口自动化测试
    TOMCAT闪退。cmd执行startup.bat保错:the CATALINA_HOME environment variable is not defined correctly
    selenium python自动化测试 ddt数据驱动
    jenkins到底如何拉取代码 如何部署的
    git 常用命令
  • 原文地址:https://www.cnblogs.com/pandaboy1123/p/8544592.html
Copyright © 2011-2022 走看看