Comments (4)
或者是不是可以参考下emqtt的实现,Publish消息生成一个messageID,收的puback 后通过PacketID关联下messageID?
from gmqtt.
from gmqtt.
Question(from google translate):
After the sender pushes the message, the pushback PacketID returned by the subscriber after receiving the message is inconsistent with the PacketID of the sender's push message.
Due to the inconsistency of the two PacketIDs, the sender cannot determine whether the number has been successfully received by the subscriber through the puback message. I found that the PacketID of the message was reset deliberately in the code before it was delivered to the subscriber. Is it because there are multiple subscribers to a certain topic that different PacketIDs are generated? If this is the case, is it possible to consider maintaining a messageID for each message on the server side to determine whether the subscriber has received it, while retaining Publish.PacketID.
from gmqtt.
@blessmylovexy Having a messageID for each message sounds reasonable, but If you want to get notified when the message has been delivered, I suggest you should use the OnMsgDelivered
hooks.
OnPuback
hook will only work with QoS1 the message, QoS0 and QoS2 message do not use Puback.
I've been a little busy these days, but we can discuss this and I can help you if you want to contribute.:)
You can find my QQ on my Github profile, feel free to add me if you like.
from gmqtt.
Related Issues (20)
- Any benchmark test data? HOT 2
- 有没有推荐的golang版本的mqtt客户端和gmqtt一起工作?或者gmqtt有没有计划处一个自己的client库? HOT 1
- Memory leak using OnBasicAuthWrapper Hook HOT 7
- websocket packet size over 1024 causing read hang HOT 1
- grpc publish retain 标志不起作用
- 1000客户端压测报错/gmqtt/persistence/queue/mem/mem.go:185 +0x118 HOT 1
- 三节点的集群,客户端发送消费二进制数据,节点挂掉了 HOT 2
- 可能存在内存泄漏 HOT 2
- panic: persistence factory: memory not found? HOT 1
- Modify topic before publishing
- 关于mqtts的问题 HOT 2
- Alternatives or sucessor of this project
- Old Docker Image
- 有时候存在消息未送达的情况
- 哪里空了啊
- 插件hook函数加载时间点优先于日志
- 测试无法保留会话,总会CleanSession,请问这块有做没有?是否是bug HOT 1
- 如何有重复id登录,是否有选项舍弃之前的id,而不是新的id自动拒绝? HOT 5
- ERROR server/client.go:273 connection lost {"client_id": "", "remote_addr": "113.89.11.200:21300", "error": "operation error: Code = 81, reasonString: "} HOT 1
- mqtt5协议的客户端无法获取clientId?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gmqtt.