经常有小伙伴后台私信问我,自己每天大量的时间花在微信上,平常很多重复的操作都需要自己去亲力亲为,效率低的同时,人也累的半死,问我能否能做成自动化。答案是可以的,任何人为操作都能做成自动化,自动化无所不能。今天就微信自动化这一应用场景聊聊几种实现方案。1、wxpywxpy基于itchat,使用了Web端微信的通讯协议,能够实现微信消息管理、好友管理及一些数据统计功能。但是,由于微信对网页版微信的限制
分类:
微信 时间:
2020-12-08 12:12:23
阅读次数:
13
通用的CP系统有etcd和consul, 通用的对立面就是专用系统. 所以在某些场合是有这种需求的. 然而etcd embed的可用性极差, Windows上面跑会出现各种问题, 而且不能定制协议, 你必须得用etcd定义好的协议和客户端来和etcd集群通讯. 所以这时候的选择: 1. 忍着 2. ...
分类:
其他好文 时间:
2020-12-03 11:33:21
阅读次数:
3
需求缘起当发送方用户A发送消息给接收方用户B时,如果用户B在线,之前的文章《微信为啥不丢“在线消息”?》聊过,可以通过应用层的确认,发送方的超时重传,接收方的去重保证业务层面消息的不丢不重。那如果接收方用户B不在线,系统是如何保证消息的可达性的呢?这是本文要讨论的问题。问题:接收方不在线时,消息发送的流程是怎么样的?回答:如上图所述,(1)用户A发送消息给用户B(2)服务器查看用户B的状态为off
分类:
微信 时间:
2020-11-19 12:10:08
阅读次数:
32
在编写或移植驱动程序时,经常会涉及到通讯相关驱动,主要包括UART、I2C、SPI、USB等。 在I2C驱动当中,通讯设备分为主设备和从设备,其中常用函数有: struct I2C_data{ int a; char b[10]; } struct I2C_data save_data, resav ...
分类:
系统相关 时间:
2020-11-18 13:15:20
阅读次数:
16
应网友要求,写一写连接池实现细节。一、如何通过连接访问下游工程架构中有很多访问下游的需求,下游包括但不限于服务/数据库/缓存,其通讯步骤是为:(1)与下游建立一个连接(2)通过这个连接,收发请求(3)交互结束,关闭连接,释放资源这个连接是什么呢,通过连接怎么调用下游接口?服务/数据库/缓存,官方会提供不同语言的Driver、Document、DemoCode来教使用方建立连接与调用接口,以Mong
分类:
其他好文 时间:
2020-11-18 13:05:10
阅读次数:
12
融云即时通讯SDK集成 -- 国内厂商推送集成踩坑篇(Android平台) 背景: 最近公司新上的app要加上即时通讯的功能, 自己快速实现一个当然是不可能的了(项目deadline也顶不住哇).就从各家成熟的SDK厂商选来选去的, 各有各的好也各有各的不足.最后点兵点将,选了融云家的SDK(老板说 ...
分类:
移动开发 时间:
2020-11-17 12:31:08
阅读次数:
26
融云即时通讯SDK集成 -- FCM推送集成指南(Android平台) 背景: 最近公司新上的app要加上即时通讯的功能, 自己快速实现一个当然是不可能的了(项目deadline也顶不住哇).就从各家成熟的SDK厂商选来选去的, 各有各的好也各有各的不足.最后点兵点将,选了融云家的SDK(老板说了算 ...
分类:
移动开发 时间:
2020-11-17 12:26:59
阅读次数:
24
系统设计,协议先行。大部分人不了解协议的设计细节,更多使用已有协议进行应用层设计,例如:(1)使用HTTP,设计get/post/cookie参数,以及json包格式;(2)使用dubbo,而不用去深究内部的二进制包头包体细节;无论如何,了解协议设计的原则,对深入理解系统通信非常有帮助。一、协议的分层设计所谓“协议”,是双方共同遵守的规则,例如:离婚协议,停战协议。协议有语法、语义、时序三要素:(
分类:
其他好文 时间:
2020-11-17 11:47:16
阅读次数:
4
进程间通讯测试 from multiprocessing import Process,Pipe,Queue def read_pipe(output,input): output_p,input_p = output,input while True: try: output_p.recv() e ...
分类:
系统相关 时间:
2020-11-16 14:00:24
阅读次数:
23
《“ID串行化”保证群消息顺序性》提到,可以通过连接池的改造,实现ID串行化,本篇讲讲连接池的原理,以及实现细节。通常如何通过连接访问下游?工程架构中有很多访问下游的需求,下游包括但不限于服务/数据库/缓存,其通讯步骤是为:(1)与下游建立一个连接;(2)通过这个连接,收发请求;(3)交互结束,关闭连接,释放资源;不管是服务/数据库/缓存,官方会提供不同语言的Driver、Document、Dem
分类:
其他好文 时间:
2020-11-16 13:57:11
阅读次数:
7