使用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实现获取域名所用服务器的真实IP
Oct 25 Python
浅谈django中的认证与登录
Oct 31 Python
Python+Selenium自动化实现分页(pagination)处理
Mar 31 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
Jul 19 Python
我用Python抓取了7000 多本电子书案例详解
Mar 25 Python
Python脚本利用adb进行手机控制的方法
Jul 08 Python
python异步编程 使用yield from过程解析
Sep 25 Python
Pycharm安装并配置jupyter notebook的实现
May 18 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 Python
python中使用.py配置文件的方法详解
Nov 23 Python
FP-growth算法发现频繁项集——构建FP树
Jun 24 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下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
2009/04/10 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
AngularJS教程之环境设置
2016/08/16 Javascript
node.js实现快速截图
2016/08/27 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
Vue开发环境中修改端口号的实现方法
2019/08/15 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
pyqt4教程之widget使用示例分享
2014/03/07 Python
用python与文件进行交互的方法
2018/03/01 Python
python如何创建TCP服务端和客户端
2018/08/26 Python
Python数据可视化之画图
2019/01/15 Python
django drf框架中的user验证以及JWT拓展的介绍
2019/08/12 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
老教师工作总结的自我评价
2013/09/27 职场文书
师范生教师实习自我鉴定
2013/09/27 职场文书
团结就是力量演讲稿
2014/05/21 职场文书
农村门前三包责任书
2014/07/25 职场文书
某集团股份有限公司委托书样本
2014/09/24 职场文书
2014年人事行政工作总结
2014/12/03 职场文书
安全保证书怎么写
2015/02/28 职场文书
员工自我评价范文
2015/03/11 职场文书
为什么RedisCluster设计成16384个槽
2021/09/25 Redis