使用Python的Django和layim实现即时通讯的方法


Posted in Python onMay 25, 2018

看到Django和layim实现websocketde资料很少,自己就琢磨了下,顺便搭建出来了。自己要去找闲心大神授权呀。

先来看图

使用Python的Django和layim实现即时通讯的方法

这是初次搭建的,今天一天就搞定。我自己接入了图灵机器人。

Python这需要安装Django和dwebsocket,安装之后现在Django的settings里面将WEBSOCKET_ACCEPT_ALL=True写进去

@require_websocketdef send(request):
  for message in request.websocket:
  request.websocket.send(这里要String类型) # 发送消息到客户端12345

这段代码是后台接受即时消息的,需要有注解。

看一下前段js

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>LayIM测试</title>
  <link rel="stylesheet" href="../static/layui/css/layui.css" rel="external nofollow" media="all"></head><body><script src="../static/layui/layui.js"></script><script>
  layui.use('layim', function (layim) {
    var socket = new WebSocket('ws://localhost:8000/send');
    layim.config({
      init: {
        url: "/main",
        type: "get",
        data: {}
      },
      members: {
        url: "",
        type: 'post',
        data: {id: 1},
      }, isAudio: true
      , isVideo: true,
      right: "10px"
      //扩展工具栏
      , brief: false //是否简约模式(如果true则不显示主面板)

    });
    layim.on('sendMessage', function (res) {
      var mine = res.mine;
      socket.send(JSON.stringify({
        type: 'chatMessage' //随便定义,用于在服务端区分消息类型
        , data: res
      }));

    });
    socket.onmessage = function (res) {
      layim.getMessage({
        username: "图灵机器人"
        , avatar: "../static/img/100.jpg"
        , id: "1
        , type: "friend"
        , content: res.data
        , cid: 0
        , mine: false
        , fromid: "1"
      });
    };
  });
  </script>
</body>
</html>

我这里后台是直接将图灵机器人的回复发送到前台,就是这边就是只要解析一下就行

这样就可以基本实现。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 解析html之BeautifulSoup
Jul 07 Python
Python实现线程池代码分享
Jun 21 Python
Python文件夹与文件的相关操作(推荐)
Jul 25 Python
Python中str is not callable问题详解及解决办法
Feb 10 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
如何利用Anaconda配置简单的Python环境
Jun 24 Python
Django stark组件使用及原理详解
Aug 22 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
Apr 22 Python
python字典key不能是可以是啥类型
Aug 04 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
Aug 17 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 Python
python基于turtle绘制几何图形
Jun 15 Python
matplotlib subplots 调整子图间矩的实例
May 25 #Python
Matplotlib 生成不同大小的subplots实例
May 25 #Python
python opencv3实现人脸识别(windows)
May 25 #Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 #Python
matplotlib savefig 保存图片大小的实例
May 24 #Python
python3连接MySQL数据库实例详解
May 24 #Python
python实现图片文件批量重命名
Mar 23 #Python
You might like
解析php中如何调用用户自定义函数
2013/08/06 PHP
ThinkPHP中的关联模型注意点
2014/06/16 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
2015/03/10 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
python 中文字符串的处理实现代码
2009/10/25 Python
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
关于Python数据结构中字典的心得
2017/12/04 Python
Python打印输出数组中全部元素
2018/03/13 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
python实现黑客字幕雨效果
2018/06/21 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
团员学习总结的自我评价范文
2013/10/14 职场文书
财务与信息服务专业推荐信
2013/11/28 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
《爱如茉莉》教后反思
2014/04/12 职场文书
男女朋友协议书
2014/04/23 职场文书
ktv周年庆活动方案
2014/08/18 职场文书
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
2014年教研室工作总结
2014/12/06 职场文书
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS