微信小程序
月下独奏
这个作者很懒,什么都没留下…
展开
-
简易聊天系统-客户端介绍
桌面客户端由于审美观原因,抄了一个QT开源IM聊天客户端,将其tcp协议改成websocket并加上自己需要的功能。源地址如下:https://blog.csdn.net/nigoole/article/details/74188554以上为桌面端,下面是微信小程序,我将其放进之前的抢座小程序中了(之前博客有介绍)...原创 2020-05-14 12:07:33 · 438 阅读 · 1 评论 -
简易聊天系统-聊天服务
聊天负责私人聊天,群组聊天。私人聊天接受信息后保存至数据库再转发给目标用户。群组聊天当前没有离线消息保存,也就是用户登录后无法知道多少消息未读,而是直接拉取指定数量群聊天。当有成员发送后会将聊天信息存储数据库(没有缓存进redis,因为在线用户会直接发送,目前没有这个优化必要),从redis中检索所有群组在线用户并通过消息队列发送至对应网关。大致代码如下:// 处理群消息func DealGroupMsg(delivery *amqp.Delivery, transfer1 *transfer)原创 2020-05-14 11:49:47 · 1394 阅读 · 0 评论 -
简易聊天系统-用户服务
用户服务负责注册,更改密码,用户登录,添加好友,获取好友关系,下线上线通知等。添加好友需要两段处理,首先将验证请求并存入数据库,再判断好友用户是否在线,在线则直接发送请求给好友用户,否则将在用户登陆时检索请求数据库再发送好友请求。大致代码如下:// 用户处理好友请求func DealAddFriend(delivery *amqp.Delivery, transfer1 *transfer) { // Ack := false // defer func() { // deliver原创 2020-05-14 11:35:27 · 264 阅读 · 0 评论 -
简易聊天系统-消息转发服务器
消息转发服务器用来接受来自消息队列的数据,并对其进行解码、识别等,最后分好类别。比如聊天系统,会将同一个群组 同一个会话的消息转发至同一组服务(当然现在还没实现转发同一组服务),基本思想为群号 QQ号之类弄一个hash然后转发,或者监控各个服务的负载程度将新开的聊天转移至相应的聊天服务。如果识别失败,消息转发服务器并不会处理消息而是将消息保留至消息队列并提示,如果需要在线升级添加新的服务,只需要逐步升级消息转发服务即可。基本代码逻辑如下:// 处理func DealMsg(delivery am原创 2020-05-14 11:28:23 · 927 阅读 · 0 评论 -
简易聊天系统-网关
网关负责客户端的接入,因为时间原因都使用了websocket协议,目前只做到固定网关,也就是客户端直接连接指定网关。后面优化则会有一个网关发现服务,提供http接口返回目前最佳网关。网关使用了 github.com/gorilla/websocket 提供的框架,主要负责处理客户端的连接,数据识别、转发数据。网关接受来自用户的数据并判断其类型,未登录用户不能发送非登录类型数据,确认正常数据后直接存进消息队列中。并且接受来自消息队列传来的信息,转发至对应客户端中。接受来自客户端的数据:func.原创 2020-05-14 11:19:57 · 332 阅读 · 0 评论 -
简易聊天系统-介绍
之前做了个简易聊天系统,到今天才有时间回顾大致结构如下:目前有两种版本客户端,桌面端使用C++编写,手机端使用微信小程序,整个项目两个月稳定运行。后面想将此项目放入k8s中进行自动管理。...原创 2020-05-14 11:06:06 · 750 阅读 · 0 评论 -
大学自习室简易抢座小程序
用户端使用微信小程序,从某个模板扒皮下来。服务端使用GO gin框架。大致结构小程序提交抢座任务,服务器每天定时抢座。1.遇到过座位服务器响应过慢,解决办法就是简化步骤,将耗时的步骤尽量提前进行。2.单个服务器性能有限,解决办法多台服务器同时抢座,并使用消息队列用来分配任务。3.座位服务器有速率限制,超过请求次数则会封号,解决办法:找到临界值调整请求次数。用了半...原创 2019-12-29 14:27:59 · 7212 阅读 · 26 评论 -
微信小程序循环赋值坑
最近在弄微信小程序,类似于共享单车用来练练手,基本原理就是小程序发送经纬度给服务器,服务器从数据库中检索经纬度附近的单车传给小程序。就在这里。。没错就是这里,传回来的值是以jsonarray格式传过来的。我需要将jsonarray进行解析获取经纬度,ID等车辆信息,然后赋值给小程序地图上的mark,一般我的思路时直接用个for循环给每个mark进行赋值然后再Setdata一下就ok,结原创 2017-05-09 01:41:28 · 15362 阅读 · 5 评论 -
微信小程序使用Protobuf
网上大部分小程序使用protobuf的都是微信小游戏的解决方案,弄了半天终于整理出微信小程序使用Protobuf的可行方案。找的方案不是动态解析,而是根据.proto文件生成json文件再手动生成js文件,过程比较复杂。 1. github 项目 https://github.com/Zhang19910325/protoBufferForWechat 这个项目是关键,将其wei...原创 2018-12-19 19:33:33 · 7518 阅读 · 8 评论