阿里云API网关双向通信功能使用说明

阿里云/楚骧

一.概述

移动端APP大多数功能都能通过客户端向服务器端发送请求,服务器应答来完成,比如用户注册,获取商品列表等能力。但是有一些场景是客户端向服务器端发送请求这种方式完成不了的,比如服务器向客户端推送应用内通知,用户之间的即时通信等功能。这种时候就需要建立一个通信通道,让服务器能够给指定的客户端发送下行通知请求。也就是客户端和服务器端之间具备双向通信的能力。具备双向通行能力的架构对于移动APP属于刚性需求。

API网关目前已经具备双向通信的能力,目前用户只需要在API网关上设置三个API,然后下载自动生成的SDK到客户端,简单嵌入到客户端就能完美实现客户端和服务器端之间的双向通信的功能。

API网关将逐渐放开此能力给所有用户,目前仅放开了杭州和香港两个Region。API网关的双向通信能力构建于WebSocket协议之上,目前仅提供Android版本的SDK,后期将提供iOS的SDK。下面是利用API网关实现双向通信的能力的业务流程简图:

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

双向通信业务简图

流程描述

(1) 客户端在启动的时候和API网关建立了WebSocket连接,并且将自己的设备ID告知API网关; 
(2) 客户端在WebSocket通道上发起注册信令; 
(3) API网关将注册信令转换成HTTP协议发送给用户后端服务,并且在注册信令上加上设备ID参数; 
(4) 用户后端服务验证注册信令,如果验证通过,记住用户设备ID,返回200应答; 
(5) 用户后端服务通过HTTP/HTTPS/WebSocket三种协议中的任意一种向API网关发送下行通知信令,请求中携带接收请求的设备ID; 
(6) API网关解析下行通知信令,找到指定设备ID的连接,将下行通知信令通过WebSocket连接发送给指定客户端; 
(7) 客户端在不想收到用户后端服务通知的时候,通过WebSocket连接发送注销信令给API网关,请求中不携带设备ID; 
(8) API网关将注销信令转换成HTTP协议发送给用户后端服务,并且在注册信令上加上设备ID参数; 
(9) 用户后端服务删除设备ID,返回200应答。

原文链接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值