关于icomet的安装及使用方式可以阅读前面几篇博文,有了前面的基础再来实现一对一或者群聊就比较容易了,关键是如何设计。在实现的基础上还要保证信息实时送达,保证信息安全。
首先说一下一对一聊天,每一个用户有自己的独立通道(频道)和token(icomet生成),并且用户只接收自己通道(频道)的信息。这里我们可能有疑问了,只接收自己通道的信息那其他用户发来的信息怎么会接收到呢?其实某用户给目标用户发送消息是将消息推动到目标用户的通道的,并不是用户发消息只发送到自己的通道的,并且用户端无需知道目标用户的通道(频道)名称,这一切都由应用服务器来实现,下面看一下架构设计图。
首先用户需要通过应用服务器(例如Nginx+PHP+DB)注册通道并获取token,实质是应用服务器对请求做验证后再请求icomet获取token返回给客户端,客户端通过token和通道保持连接。再看一下消息发送的过程。
上图描述了用户A给用户C发送消息的过程,用户A只需要将消息和目标用户告诉应用服务器就可以了,应用服务器做验证后会将数据推送到用户C对应的通道,这就是消息的发布,用户C就可以订阅到消息。
看到这里如果是多人在一个群组内聊天那只需要创建一个群组通道然后把token和通道发送给用户,这样用户就可以接收到通道的信息。那么这样用户可能拥有多个通道会不会有冲突,这也看如何进行设计,首先多个通道的消息是在不同的聊天界面,另外客户端的token也不要有冲突混乱,聊天界面、token、通道名是绑定在一块的,这些数据如何在对应有多种方案,比如序列化到cookie中或者打开对应的聊天页面时应用服务器直接返回对应的token和通道,当然应用服务器要讲token等信息也要保存在数据库中。
-
每一次扬起风帆去远航,都难免会有阻挡,只要有 幸运飞艇走势图梦想在心中,未来就充满着希望;每一次张开翅膀去飞翔,都难免会受伤,只要有梦想在激励,未来就承载着希望。梦想, 福彩双色球走势图在心中埋藏,它已经在慢慢 澳洲幸运20走势图走来,给人们带来希望,光芒和启迪。(0) 回复 (0)
-
DEFI代管通常涉及存儲和管理各種加密貨幣和代幣,為投資者提供安全的存儲和管理解決方案,同時也可以協助項目方管理資產,提高資產的流動性和效率。DeFi 代管平台可能還提供各種其他的金融服務,如貸款、保險和金融衍生品等。(0) 回复 (0)
-
澳洲幸运5开奖直播 英国乐透8预测开奖 开奖网结果(0) 回复 (0)
-
下注DG百家樂加入賺錢的行列(0) 回复 (0)
-
讨债公司/蓝月传奇辅助/蓝月辅助(0) 回复 (0)