使用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中的代码编码格式转换问题
Jun 10 Python
Python实现优先级队列结构的方法详解
Jun 02 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
Dec 14 Python
Python实现二叉树的常见遍历操作总结【7种方法】
Mar 06 Python
python实现QQ空间自动点赞功能
Apr 09 Python
python集合是否可变总结
Jun 20 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
Feb 28 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
Mar 07 Python
Jupyter notebook 启动闪退问题的解决
Apr 13 Python
Python 的 __str__ 和 __repr__ 方法对比
Sep 02 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
Nov 28 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
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
js 替换
2008/02/19 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
JavaScript严格模式详解
2017/01/16 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
详解node单线程实现高并发原理与node异步I/O
2017/09/21 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
vue2 设置router-view默认路径的实例
2018/09/20 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
JS轮播图的实现方法2
2020/08/25 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
讲解Python中运算符使用时的优先级
2015/05/14 Python
python如何实现反向迭代
2018/03/20 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
一套C#面试题
2013/10/09 面试题
Linux如何修改文件和文件夹的权限
2013/09/05 面试题
政治学专业毕业生求职信
2014/08/11 职场文书
期末考试复习计划
2015/01/19 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
保险内勤岗位职责
2015/04/13 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers
MySQL修炼之联结与集合浅析
2021/10/05 MySQL
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript
python运算符之与用户交互
2022/04/13 Python