码迷,mamicode.com
首页 > 编程语言 > 详细

Python-网编汇总、socketserver

时间:2020-03-06 12:49:43      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:ever   短消息   comment   plain   fence   soc   应用   self   tcp   

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

技术图片

四次挥手:记住上面的图(FIN\ACK)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

标签:ever   短消息   comment   plain   fence   soc   应用   self   tcp   

原文地址:https://www.cnblogs.com/womenzt/p/12425816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!