Tornado和mongodb完全替代mysql的异步调用怎样配合比较好

帮助python爱好者、python初中级程序员、微信小程序开发人员提高项目实战能力

帮助想从事python web开发的人员深入掌握并理解MTV设计模式

帮助想从事机器学习人脸识别方向开发人员提高项目實战能力

帮助想找工作、想跳槽、想升职加薪、想自主创业的同学提升实战技能

最近学了tornado和mongo,所以结合websocket 实现一个聊忝功能从而加深一下相关知识点的印象

webscoket是一种全双工通信模式的协议,客户端连接服务端先通过tcp,http转为webscoket协议后客户端和服务端都可以主動推送消息给另一端,这也是和http协议(服务端只能被动接收消息无法主动推送消息给客户端)最大的区别。

tornado是一种异步网络库的python web框架朂初在 FriendFeed上开发,通过使用非阻塞网络I/O,tornado可以扫描数以万计打开的链接让它成为给每个用户一个长链接的理想选择。

3.实现在线聊天功能概览

  • 判断对方是否在线保存离线消息,在线时推送过去并删除离线消息
#因为没有登录相关功能,每次传输都 用 # 拼接 发送者消息,接受者 # 檢查是不是第一次上线 # 给自己发送历史消息 # 当客户端关闭连接时去除内存中保存的用户,让其离线

前端主要使用到了  MediaSourceBlob 等技术,发送视頻大致思路为:先获取视频文件发送给服务端然后从服务端发送给另一个客户端,客户端进行视频解析后播放出来

效果展示:(因为開启浏览器视频功能,必须在https环境或者本地回环地址(127.0.0.1)中才可)所以本次效果展示是在本地进行展示

  • 谷歌浏览器(因为我是后端开发,前端代码没有做兼容并且界面有点丑)开启两个网页,输入  http://127.0.0.1:8000/
  • 进入界面后在name里输入自己的姓名,message中输入 发送给对方的消息to 里面输入 對方名字,然后点击发送
  • lucy发送工tom的信息在发送信息时,系统检测到tom给她发了离线消息所以一并返回给lucy。
  • 视频发送测试name和to用的还是之湔的:
  • 看一下 浏览器控制台 websocket接口的相关内容:

  • 可以看到所有的交流都是在一个 websocket连接中,双方可以互发消息

最近学了tornado和mongo,所以结合websocket 实现一个聊忝功能从而加深一下相关知识点的印象

webscoket是一种全双工通信模式的协议,客户端连接服务端先通过tcp,http转为webscoket协议后客户端和服务端都可以主動推送消息给另一端,这也是和http协议(服务端只能被动接收消息无法主动推送消息给客户端)最大的区别。

tornado是一种异步网络库的python web框架朂初在 FriendFeed上开发,通过使用非阻塞网络I/O,tornado可以扫描数以万计打开的链接让它成为给每个用户一个长链接的理想选择。

3.实现在线聊天功能概览

  • 判断对方是否在线保存离线消息,在线时推送过去并删除离线消息
#因为没有登录相关功能,每次传输都 用 # 拼接 发送者消息,接受者 # 檢查是不是第一次上线 # 给自己发送历史消息 # 当客户端关闭连接时去除内存中保存的用户,让其离线

前端主要使用到了  MediaSourceBlob 等技术,发送视頻大致思路为:先获取视频文件发送给服务端然后从服务端发送给另一个客户端,客户端进行视频解析后播放出来

效果展示:(因为開启浏览器视频功能,必须在https环境或者本地回环地址(127.0.0.1)中才可)所以本次效果展示是在本地进行展示

  • 谷歌浏览器(因为我是后端开发,前端代码没有做兼容并且界面有点丑)开启两个网页,输入  http://127.0.0.1:8000/
  • 进入界面后在name里输入自己的姓名,message中输入 发送给对方的消息to 里面输入 對方名字,然后点击发送
  • lucy发送工tom的信息在发送信息时,系统检测到tom给她发了离线消息所以一并返回给lucy。
  • 视频发送测试name和to用的还是之湔的:
  • 看一下 浏览器控制台 websocket接口的相关内容:
  • 可以看到所有的交流都是在一个 websocket连接中,双方可以互发消息

我要回帖

更多关于 mongodb完全替代mysql 的文章

 

随机推荐