使用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中的内存泄漏
Apr 23 Python
python操作ie登陆土豆网的方法
May 09 Python
Python简单生成8位随机密码的方法
May 24 Python
python 删除列表里所有空格项的方法总结
Apr 18 Python
python pandas消除空值和空格以及 Nan数据替换方法
Oct 30 Python
python将控制台输出保存至文件的方法
Jan 07 Python
详解django+django-celery+celery的整合实战
Mar 19 Python
Python Selenium 之数据驱动测试的实现
Aug 01 Python
python采集百度搜索结果带有特定URL的链接代码实例
Aug 30 Python
Python基于WordCloud制作词云图
Nov 29 Python
Python2.x与3​​.x版本有哪些区别
Jul 09 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 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 字符串 小常识
2009/06/05 PHP
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
PHP统计二维数组元素个数的方法
2013/11/12 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
利用javascript数组长度循环数组内所有元素
2013/12/27 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
javascript实现行拖动的方法
2015/05/27 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
详解redux异步操作实践
2018/08/15 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
Vue开发中常见的套路和技巧总结
2020/11/24 Vue.js
pycharm在调试python时执行其他语句的方法
2018/11/29 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
澳大利亚领先的在线葡萄酒零售商:Get Wines Direct
2018/03/27 全球购物
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
计算机专业推荐信范文
2013/11/27 职场文书
员工培训邀请函
2014/01/11 职场文书
最新奶茶店创业计划书范文
2014/02/08 职场文书
毕业生实习期转正自我鉴定
2014/09/26 职场文书
企业开业庆典答谢词
2015/01/20 职场文书
继续教育个人总结
2015/03/03 职场文书
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js