当前位置: 代码网 > 手机>品牌>手机系统 > 如何做到服务器向手机主动发送消息(轮询、长轮询、双工、半双工)

如何做到服务器向手机主动发送消息(轮询、长轮询、双工、半双工)

2024年08月03日 手机系统 我要评论
如何做到服务器向手机主动发送消息(关键词:轮询、长轮询、双工、半双工)

如何做到服务器向手机主动发送消息(轮询、长轮询、双工、半双工)

服务器主动向客户端发送消息

在我心中一直都有一个疑惑,我们在客户端开发中往往能碰到一种场景,需要服务器主动告诉客户端状态的改变。 例如我们使用使用手机扫码登录微信。手机扫码后,请求接口使用http协议告诉服务器扫码了,然后服务器需要主动通知电脑,用户扫码成功,登录成功。但是http协议又不能让服务端向客户端发送消息。知道我看到了对于轮询,长轮询的解释才恍然大明白。

轮询

不难想到解决方案之一是: 客户端一直请求服务端,获取状态的改变。在这个例子中便是手机隔一秒钟遍请求一次服务器,看到底又没有扫码成功。

长轮询

还有一种解决方案是只请求一次,请求超时的事件设置为一分钟,在一分中之内扫码,便可以得到响应。超时后重新进行请求。这也终于让我明白,为什么有时候扫码,会显示二维码过期。

websocket 协议

因为http协议是** 半双工协议。只能由客户端向服务端发送请求。如果想真正的让服务端向客户端发送请求就可以使用websocket协议,websocket协议是真正的全双工**协议。

单工

数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。

半双工

单工通信信道是单向信道,发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息
例如 http协议只能由客户端请求接口,之后服务端进行响应。客户端——>服务端,且不能同时进行

全双工

全双工通信又称为双向同时通信,即通信的双方可以同时发送和接收信息的信息交互方式

上述只是个人理解,如有错误,欢迎批评指正

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com