首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

IM群聊消息的回执功能该怎么实现?

像微信这样的熟人社交工具,在产品的设计理念上,为了保持使用者的隐私性,在线状态、回执等涉及隐私的功能,都没有提供。...接收方修改last_ack_msgid的流程,会变为: 1)发送ack请求; 2)修改last_ack_msgid,并且,修改回执if_ack状态; 3)查询发送方在线状态; 4)向发送方实时推送回执...答:其实不需要,可以批量ack,累计收到N条群消息(例如10条),再向服务器发送一次last_ack_msgid的修改请求,同时修改这个请求之前所有请求回执,这样就能将40个发送给服务端的ack请求量...发送方在线时,对于回执的发送,真的需要实时推送么? 答:其实不需要,发送方每发一条消息,会收到40个回执,采用轮询拉取(例如1分钟一次,一个小时也就60个请求),可以大大降低请求量。...(画外音:或者直接放到应用层keepalive请求里,做到0额外请求增加。) 会带来什么副作用? 答:回执更新不实时,最坏的情况下,1分钟才更新回执

4.8K20

群消息回执(这个diao),究竟是推还是拉?

二、回执流程 对于发送方发送的任何一条群消息,都需要知道,这条消息有多少人多少人未,就需要一个基础表来记录这个关系。 消息回执表:用来记录消息的回执。...接收方修改last_ack_msgid的流程,会变为: (1)发送ack请求 (2)修改last_ack_msgid,并且,修改回执if_ack状态 (3)查询发送方在线状态 (4)向发送方实时推送回执...答:其实不需要,可以批量ack,累计收到N条群消息(例如10条),再向服务器发送一次last_ack_msgid的修改请求,同时修改这个请求之前所有请求回执,这样就能将40个发送给服务端的ack请求量...发送方在线时,对于回执的发送,真的需要实时推送么? 答:其实不需要,发送方每发一条消息,会收到40个回执,采用轮询拉取(例如1分钟一次,一个小时也就60个请求),可以大大降低请求量。...画外音:或者直接放到应用层keepalive请求里,做到0额外请求增加。 会带来什么副作用? 答:回执更新不实时,最坏的情况下,1分钟才更新回执

1.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

Python优雅的操作Exchange邮箱——exchangelib模块使用介绍

最近想把公司邮箱的附件给下载下来,附件好多都是我整理的报告和文档,一个个去下载明显太傻,碰到这种问题第一个想到的就是Python啦 需求很简单,只需要登录自己的Exchange邮箱,然后遍历所有邮件,有附件的就下载下来...可是最主要的一步却难倒我了,连接Exchange邮箱比较麻烦,最后找到了exchangelib这个模块。 这个模块网上的教程不多,所以这里记录下使用过程。...安装exchangelib exchangelib的github地址可以点击这里,可通过PyPi直接进行安装: pip3 install exchangelib 具体编码 引入模块 exchangelib...datetime_received')[:100]: print(item.subject, item.sender, item.datetime_received) 如果你的收件箱下还有文件夹,可以使用...totalcount==index: break page=page+50 totalcount=index 总结 利用python

4.6K20

企业微信的IM架构设计揭秘:消息模型、万人群、回执、消息撤回等

收发消息双方需存在至少一种关系才允许发消息; 2)回执消息:每条消息都需记录和未人员列表,涉及频繁的状态读写操作; 3)撤回消息:支持24小时的有效期撤回动作; 4)消息存储:云端存储时间跨度长,...例如:回执消息,发送方能看到列表,接受方只能看到是否的状态。云端删除某条群消息,在自己的消息列表消失,其他人还是可见。 缺点:存储容量的增加。...如果svr过载,则拒绝掉部分正常请求,防止机器被压垮,依然能对外服务。通过统计svr的被调耗时情况、worker使用情况等,判定是否处于过载状态。...11.4 优化2:合并处理 客户端收到大量消息,并不是一条一条消息确认,而是多条消息一起确认。为了提高回执消息的处理效率,可以对多条消息合并处理。...流程如下: 1)发送方某条消息的状态是X; 2)接收方a确认状态修改为X+a; 3)接收方b确认状态修改为X+b; 4)接收方a的状态先写入,接受方b的状态后写入。

2.3K23

Python模拟发送Slack消息

,首先在平台的官网上搜搜有没有相关的api文档之类的 其次在github上搜搜,有没有官方的开源模块或者第三方模块 在这就是Google你的需求了 3 找到方法如何运用 3.1 在浏览器中模拟方法请求...:tada:" ) api_call是模块中封装的一个调用接口,这个接口的作用就是相当于你使用浏览器模拟post请求的执行过程,他把你在浏览器中要实现post请求所要执行的点点点封装成一个黑箱子,只要按格式填写参数就可以了...是不是首先要在API Methods中找到获取列表方法 可以在次使用上面的代码,换一个获取channel列表的方法就可以了 至于返回的对象是什么,可以通过Type查看,方便下一步处理 from slackclient...import BaseProtocol, NoVerifyHTTPAdapterfrom exchangelib import UTC_NOW import re import getopt, sys...slackApp_postUser = @Marion mail_server= $EMAIL_SERVER_ADDR 时间戳文件timestamp,用这个临时文件的目的是为了方便迁移脚本后也能不漏

1.3K10

别人没读你的消息,你如何知道?

如果使用过钉钉,会发现你发出一条消息,消息下方会显示有几人未(如下图),而且这个数字数字随着群里成员阅读消息会不断变化(减少),点击能够查看具体哪些人读了消息,哪些人未消息。 ?...2、同时客户端向服务端请求订阅该条消息的回执消息(退出这个会话取消订阅) 3、服务端收到此消息的确认消息,向用户推送 这样看似较完美,实际上仍然面临推消息的挑战。...我们注意到这类消息用户实际使用场景,用户只在需要查看这条消息情况的较短时间内关心未读数量。 因此设置一个合理的主动拉取策略就可以比较好的解决这个问题,整个流程如下图。 ?...1、User1发出一条回执消息,其他用户(User2、User3……UserN)读取消息后,向服务端发送确认消息。...服务端进行未人数计算,并缓存 2、User1在查看回执消息时,主动拉取人数或未人数 主动拉取策略怎么设置呢? 用户查看回执消息时,20秒之内,每2秒拉取一次;如果用户退出会话则停止拉取。

1.8K20

Python 网页请求:requests库的使用

本文内容:Python 网页请求:requests库的使用 ---- Python 网页请求:requests库的使用 1.requests库简介 2.requests库方法介绍 3.代码实例 --...-- 1.requests库简介 requests 是 Python 中比较常用的网页请求库,主要用来发送 HTTP 请求,在使用爬虫或测试服务器响应数据时经常会用到,使用起来十分简洁。...HEAD 请求到指定 url patch(url, data, args) 发送 PATCH 请求到指定 url post(url, data, json, args) 发送 POST 请求到指定 url...put(url, data, args) 发送 PUT 请求到指定 url request(method, url, args) 发送指定的请求方到指定 url 每次调用 requests 请求之后...---- 3.代码实例 下面这段代码使用 GET 请求获取了CSDN首页的网页内容: import requests x = requests.get('https://www.csdn.net

99220

揭秘企业微信如何优化满足ToB新挑战?

回执消息:每条消息都需记录和未人员列表,涉及频繁的状态读写操作 撤回消息:支持24小时的有效期撤回动作 消息云端存储:存储时间跨度长,最长可支持180天消息存储,数百TB用户消息需优化,减少机器成本...例如,回执消息,发送方能看到列表,接受方只能看到是否的状态。...如果svr过载,则拒绝掉部分正常请求,防止机器被压垮,依然能对外服务。通过统计svr的被调耗时情况、worker使用情况等,判定是否处于过载状态。...合并处理 客户端收到大量消息,并不是一条一条消息确认,而是多条消息一起确认。为了提高回执消息的处理效率,可以对多条消息合并处理。...流程如下 发送方某条消息的状态是X 接收方a确认状态修改为X+a 接收方b确认状态修改为X+b 接收方a的状态先写入,接受方b的状态后写入。

1.3K20

使用腾讯云IM搭建应用内类微信社交聊天模块实践

消息回执单聊和群聊均支持消息回执功能,操作步骤一致。图片图片是否启用此功能,可根据您的社交业务需求决定。...例如对于类似微信的熟人社交,回执的用处可能不是非常大;但是对于陌生人交友场景,回执则十分重要,帮助用户来确认,对方是否愿意跟自己聊下去,是否不回;对于工作聊天场景,群回执还能发挥更大的作用...此外,发送端也可主动请求消息回执信息。发送端从其他界面进入消息列表后,先请求获取历史消息,再调用 getMessageReadReceipts 方法请求获取消息回执信息。...群聊场景的消息回执,通常需要能够查看详情,显示群内哪些人,哪些人未。...当用户点击回执角标时,可调用 getGroupMessageReadMemberList 方法分页拉取消息或未群成员列表。

8K171

Python爬虫--- 1.1请求库的安装与使用

这个时候就要用到请求库了。 requests库的安装 requests库本质上就是模拟了我们用浏览器打开一个网页,发起请求是的动作。...它能够迅速的把请求的html源文件保存到本地 安装的方式非常简单: 我们用PIP工具在命令行里进行安装 $ pip install requests 接着我们看一下是否成功安装了BS4库: $ pip...equests库的基本使用: #首先我们先导入requests这个包 import requests #我们来吧百度的index页面的源码抓取到本地,并用r变量保存 #注意这里,网页前面的 http...下面我们来详细了解一下requests.get这个方法: #这个方法可以接收三个参数,其中第二个默认为None 第三个可选 def get(url, params=None, **kwargs) #作用是模拟发起GET请求...好了关于requests库我们今天就写到这, 这是一个非常强大的库, 更多的功能大家可以去看一下官方的文档 http://docs.python-requests.org/zh_CN/latest/user

56600

API接口测试-使用python发送HTTP请求(Requests)

发送HTTP请求的方法有很多,常用的工具就五花八门,如postman、Jmeter、Loadrunner等,但如果想和自动化代码结合起来,python的requests库必不可少,本文分享使用python...Requests库介绍: 基于urllib,使用Python语言编写,采用Apache2 Licensed开源协议的HTTP库;和urllib库相比,Requests库更加方便。...,可根据实际情况修改为post、put、delete # url:对应http请求行中的url # headers:对应http请求请求头。...Cookie+Session认证方式: 上图以百度的访问请求为例,描述sessionID的传递过程,其中session ID经过哈希算法加密ID的部分省略。...类的对象) 2、使用Session实例调用验证码接口请求(GET) 3、使用同一个Session实例调用登录接口请求(POST) 4、请求发送结束需要关闭Session 1.my_session = requests.Session

1.9K20

IM群聊消息的功能在存储空间方面的实现思路探讨

1、引言 IM系统中,特别是在企业应用场景下,消息的状态是一个强需求。 以阿里的钉钉为例,钉钉的产品定位是用于商务交流,其“强制回执”功能,让职场人无法再“假装不在线”、“假装没收到”。...更有甚者,钉钉的群聊“强制回执”功能,甚至能够知道谁读了消息,谁没有消息(老板的福音啊)。 ▲ 钉钉里的群聊消息功能效果 功能看起来很酷,但用起来是一言难尽(上班族心里苦.... )。...3、相关文章 如果你还想了解更多有关IM群聊中功能的实现逻辑,可以进一步阅读干货文章《IM群聊消息的回执功能该怎么实现?》(强烈推荐)。...以下的讨论,均假设消息需要状态。 客户端与服务端之间,关于阅读状态的命令只需3个,每个命令含请求和应答。...对群聊而言,显示的信息可能是n人未的提示,那么需要向服务端查询消息的未人数,由于客户端可能在UI显示自己发出的多条消息,需支持一次请求查询多条消息。

5.5K50

IM群聊消息究竟是存1份(即扩散)还是存多份(即扩散写)?

1、前言 IM的群聊消息,究竟存1份(即扩散方式)还是存多份(即扩散写方式)? 上一篇文章《IM群聊消息的回执功能该怎么实现?》...沈剑的另外几篇有关IM的文章也值得你去阅读: 《理论联系实际:一套典型的IM通信协议设计详解》 《IM群聊消息的回执功能该怎么实现?》...《IM开发基础知识补课(三):快速理解服务端数据库读写分离原理及实践建议》 《IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token》 《IM群聊消息的回执功能该怎么实现...《现代IM系统中聊天消息的同步和存储方案探讨》 《关于IM即时通讯群聊消息的乱序问题讨论》 《IM群聊消息的回执功能该怎么实现?》...画外音:这里的讨论,仅限于接收方收到了哪些消息,和发送方的回执没有关系。(这里指的是作者的上篇文章《IM群聊消息的回执功能该怎么实现?》)

1.5K20
领券