trinity / messages
Trinity Messages 扩展包
v1.0
2017-12-02 16:32 UTC
Requires
- php: ~7.1
- symfony/config: ~3.0 | ~4.0
- symfony/dependency-injection: ~3.0 | ~4.0
- symfony/event-dispatcher: ~3.0 | ~4.0
- symfony/http-kernel: ~3.0 | ~4.0
Requires (Dev)
- phpstan/phpstan: ~0.9
This package is not auto-updated.
Last update: 2024-09-19 16:09:18 UTC
README
# Messages 此扩展包提供数据传输的基本框架。
它基于一个简单的想法:在多个(或单个)系统之间统一发送、接收、打包(序列化)和解包(反序列化)数据的过程。
此扩展包旨在用于客户端-服务器通信。但它在任何其他形式或通信中都可以使用。
此扩展包本身不提供实际“发送”消息的方法。因此,它可以与例如 rabbitMQ 或 HTTP 一起使用。
此扩展包通过定义所有必需的字段来定义发送消息的基本“协议”。
每条消息都使用非常基本的方法进行“签名”。每个发送者和接收者都有自己的 ID(公钥)和密钥。
## 发送(序列化)的每条消息包含
- uid - 消息的唯一标识
- clientId - 客户端的唯一标识,该客户端是此消息的发送者或该消息要发送给的对象。在服务器上使用它来选择私钥以检查消息的哈希值。
- jsonData - 消息中发送的数据
- hash - 消息信息和数据的简单哈希值
- type - 消息类型。在解包消息时使用此字段
- parentMessageUid - 对应消息的 uid
- sender - 发送者的标识 - 它可以是您需要的任何内容。它旨在由负责实际发送消息的底层类(通过 rabbitMQ、HTTP 等)使用
- destination - 发送者的标识 - 它可以是您想要的任何内容。它旨在由负责实际发送消息的底层类(通过 rabbitMQ、HTTP 等)使用
- user - 创建消息的用户标识。如果您需要知道谁负责消息。