Python-网编汇总socketserver

Posted womenzt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-网编汇总socketserver相关的知识,希望对你有一定的参考价值。

osi五层协议

1.应用层 要发送的数据 http/https协议

2.传输层 端口 tcp/udp协议 四层路由器/四层交换机

3.网络层 ip协议 路由器/三层交换价

4.数据链路层 mac地址 arp协议 网卡/交换机

5.物理层

技术图片

技术图片

tcp特点:面向链接 可靠 速度慢 长度不受限 全双工 流式传输

udp特点:面向数据报 不可靠 速度快 长度受限 一对一 一对多 多对多

tcp主要用于:文件传输、邮件、实时通信

udp主要用于:短消息类、在线观看视频

top三次握手:记住下面的图(SYN ACKK)accept connect

  • 三次握手是tcp协议建立连接的过程

  • 由客户端发起一个syn请求,服务端接受并回复(syn/ack),客户端收到ack和syn之后再回复一个ack

  • 再原生的socket代码中三次握手时由accept connect

技术图片

四次挥手:记住上面的图(FINACK)close

数据的交互:粘包现象 (只有在tcp中才会出现)

局域网和广域网的区别:相对论

内网和公网的区别:ip地址的区别

特殊的ip:0.0.0.0      127.0.0.1

代码:

  • socket模块

    • tcp服务

    • udp服务   参数

  • tcp的粘包

    • 如何解决

  • socketserver模块

    • 固定的格式(背)

    • from socketserver import BaseRequestHandler,ThreadingTCPServer
      import time
      # BaseRequestHandler 基础请求操作符
      # ThreadingTCPServer 线程实现的基于tcp协议的server
      class Myserver(BaseRequestHandler):
         def handle(self):
             n = 0
             while True:
                 self.request.send(str(n).encode(‘utf-8‘))  # self.request == conn
                 n += 1
                 time.sleep(0.5)
      server = ThreadingTCPServer((‘127.0.0.1‘,9000), Myserver)
      server.server_forever()

       

以上是关于Python-网编汇总socketserver的主要内容,如果未能解决你的问题,请参考以下文章

Python网编_进程之间的数据隔离

Python网编_进程间的数据共享

Python网编_守护进程

Python网编_join方法

Python网编_进程池的回调函数

python网编并发数据库