您的位置:首页 > 其它

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

2018-01-24 14:37 441 查看
阿里云/楚骧


一.概述

移动端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应答。

原文链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: