https://www.jianshu.com/p/e3fe5805e51c

背景

目前看到实现websocket的框架的
- django的channels
- flask
- sanic
好奇,用python怎样写一个websokcet服务器,以及socket如何与应用框一起启动

后记

  1. accept 与recv是阻塞模式,调用时候,同时新开一个threading解决同步阻塞的问题
  2. while True 要写在 sock.accept() 之前,因为在要等不同的socket连接,如果写在这之后,只能有一个socket连接
  3. 首次连接通过http建立,之后直接互相通信 while True 同样要写在conn.recv(8094) 之前, 因为要不停的通信
  4. 整个socket通信要写两次 while True
  5. werkzeug与websocket同时启动, 在主进程内,各开一个子进程即可
    6.在此基础上可以按需扩展,如改成python3 的async写法 , 引用更高级别的库websocket或python3的protocol等。万变不离其宗,从python层面,这是比较底层的写法,其它的写法大多是在此基础上封装的。

第一版后端



作者:hugoren
链接:https://www.jianshu.com/p/e3fe5805e51c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章:

  • 2021-08-18
  • 2022-12-23
  • 2021-09-21
  • 2021-11-30
  • 2021-12-09
  • 2022-12-23
  • 2022-01-15
猜你喜欢
  • 2021-11-30
  • 2022-03-04
  • 2021-12-06
  • 2022-01-26
  • 2022-02-08
  • 2021-11-30
  • 2021-11-30
相关资源
相似解决方案