java - Wie werden das Instant Messaging-System und das Push-Benachrichtigungssystem implementiert?
PHP中文网
PHP中文网 2017-06-12 09:27:28
0
6
889

So leiten Sie eine Nachricht über den Server an die angegebene Gegenstelle weiter

Wenn es Ihnen passt, posten Sie einen typischen Code

Welche Informationen werden außerdem gespeichert, wenn die Sitzung gespeichert wird?

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(6)
黄舟

我的理解:
客户端每间隔一段时间(比如一秒)向服务器进行一次请求(发送request)。
如果服务端存在消息则在响应(response)中标记信息,通知客户端服务器端存在新消息。
客户端向服务端发送请求拉去消息,服务端响应。

request:有新消息吗?收到请回答。
response:没有。
request:有新消息吗?收到请回答。
response:没有。
request:有新消息吗?收到请回答。
response:有,消息id是123456。
request:请发送消息id是123456的消息内容。
response:消息id:123456,消息正文:惊!这个女人竟然在13亿人面前做这种事……。

迷茫

消息传达是通过客户端刷新向服务端获得消息的而不是服务端直接向客户端发送

以前确实有一些是直接在本地开端口由服务器直接请求客户端的,但现在用于消息推送已经不多见了(通常用于局域网内传输文件或信息)

session存储在服务器,本地通过 Cookies 存储 SESSION 的 name 和 id,服务器通过这两个而获取服务器端存储的内容

滿天的星座

目前常见的是两种方案。
1、客户端主动轮询(也就是每隔N时间向服务端询问有没有消息。
2、服务端主动推送。后端服务之间用socket,与前端通讯的话可以用websocket。

女神的闺蜜爱上我

http2.0 可以很好的处理,可以尝试一下啊~

曾经蜡笔没有小新

都说是即时性的了,肯定要建立长连接这种了。比如socket。

给我你的怀抱

如果只是属于产品的众多功能之一,即时通信推荐题主对接IM,既可以节约一大笔开发支出,现有的IM提供商附带的功能又比较全面,比自己开发要划算的多,题主可以看一下环信 http://www.easemob.com/

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage