使用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 相关文章推荐
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 Python
Google开源的Python格式化工具YAPF的安装和使用教程
May 31 Python
python实现八大排序算法(2)
Sep 14 Python
python3 pandas 读取MySQL数据和插入的实例
Apr 20 Python
PyQt5+requests实现车票查询工具
Jan 21 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
python isinstance函数用法详解
Feb 13 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
Feb 14 Python
从多个tfrecord文件中无限读取文件的例子
Feb 17 Python
python3将变量写入SQL语句的实现方式
Mar 02 Python
Django Model层F,Q对象和聚合函数原理解析
Nov 12 Python
python_tkinter事件类型详情
Mar 20 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 开发环境配置(Zend Studio)
2010/04/28 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
jquery使用jquery.zclip插件复制对象的实例教程
2013/12/04 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
详解ES6语法之可迭代协议和迭代器协议
2018/01/13 Javascript
使用puppeteer破解极验的滑动验证码
2018/02/24 Javascript
vue源码解析之事件机制原理
2018/04/21 Javascript
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
js实现轮播图特效
2020/05/28 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
[01:17:55]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
Python多线程实例教程
2014/09/06 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
2015/04/30 Python
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
Python简单读取json文件功能示例
2017/11/30 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
css3圆角边框和边框阴影示例
2014/05/05 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
编辑找工作求职信分享
2014/01/03 职场文书
给老师的一封感谢信
2015/01/20 职场文书
公司市场部岗位职责
2015/04/15 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
导游词之绍兴柯岩古镇
2020/01/09 职场文书