Python Web服务器(非堵塞,长连接,短连接)

  • 单进程,单线程怎么做到跳过堵塞?
    可以用 xxx.setblocking(False)    # 来设置套接字为非堵塞的方式
    这样在  xxx.accept() 的时候如果没有数据传入就会产生异常
    可以用try的方式来解决
  • 短连接就是用三次 握手挥手 获得三次数据
    如果是处理一些比较小的数据,就用短连接,客户一连接,就给他数据然后断开连接,腾出资源
  • 长连接就是用一次 握手挥手 获得三次数据
    如果处理的是长时间的数据,就用长连接,但会监听客户端的数据,如果在一段时间没有收到客户端的数据,就会断开连接,腾出资源给其他人
  • 访问一个网站,一个网站有许多图片的话
    • 如果是短连接,它会先连接,获得网站数据,然后为在数据中得到的每个图片发起一次连接,显示返回的图片数据   "
      # 这样会创建多个套接字,然后会创建多个进程、线程、协程来处理套接字
    • 如果是长连接,它会先连接,获得网站数据,但不断开,继续访问每个图片的数据,显示返回的图片数据

猜你喜欢

转载自www.cnblogs.com/otome/p/12409415.html