Python websocket的示例(转帖)
https://www.jianshu.com/p/e3fe5805e51c
背景
目前看到实现websocket的框架的
- django的channels
- flask
- sanic
好奇,用python怎样写一个websokcet服务器,以及socket如何与应用框一起启动
后记
- accept 与recv是阻塞模式,调用时候,同时新开一个threading解决同步阻塞的问题
- while True 要写在 sock.accept() 之前,因为在要等不同的socket连接,如果写在这之后,只能有一个socket连接
- 首次连接通过http建立,之后直接互相通信 while True 同样要写在conn.recv(8094) 之前, 因为要不停的通信
- 整个socket通信要写两次 while True
- werkzeug与websocket同时启动, 在主进程内,各开一个子进程即可
6.在此基础上可以按需扩展,如改成python3 的async写法 , 引用更高级别的库websocket或python3的protocol等。万变不离其宗,从python层面,这是比较底层的写法,其它的写法大多是在此基础上封装的。
第一版后端
作者:hugoren
链接:https://www.jianshu.com/p/e3fe5805e51c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。