wind-c / comqtt

A lightweight, high-performance go mqtt server(v3.0|v3.1.1|v5.0) supporting distributed cluster
MIT License
877 stars 50 forks source link

No valid packet available #7

Closed taiji2004 closed 1 year ago

taiji2004 commented 1 year ago

客户端Subscribe的时候,报错:write: No valid packet available; 0

部分代码如下: server := mqtt.New() tcp := listeners.NewTCP("t1", ":1883") err := server.AddListener(tcp, &listeners.Config{ Auth: new(auth.Allow), }) if err != nil { log.Fatal(err) }

err = server.AddStore(bolt.New("mochi-test.db", &bbolt.Options{
    Timeout: 500 * time.Millisecond,
}))
if err != nil {
    log.Fatal(err)
}

server.Events.OnSubscribe = func(filter string, cl events.Client, qos byte, isFirst bool) {
    log.Printf("<< OnSubscribe %s: %s %v  %t\n", cl.ID, filter, qos, isFirst)
}

server.Events.OnError = func(cl events.Client, err error) {
    log.Printf("OnError %s:%s\n", cl.ID, err.Error())
}

输出: 2022/09/27 07:16:39 << OnSubscribe mqttx_1: testtopic/26 0 true 2022/09/27 07:16:39 OnError mqttx_1:write: No valid packet available; 0

wind-c commented 1 year ago

你用mqttx客户端订阅测试的吗?

taiji2004 commented 1 year ago

你用mqttx客户端订阅测试的吗?

是的 用的mqttx. 系统win10 家庭版

wind-c commented 1 year ago

你用mqttx客户端订阅测试的吗?

是的 用的mqttx. 系统win10 家庭版

必现吗?我测试没问题。

taiji2004 commented 1 year ago

方便你的测试代码发我看看 我看有啥不同 感谢 1391320857@qq.com

wind-c commented 1 year ago

方便你的测试代码发我看看 我看有啥不同 感谢 1391320857@qq.com

你看examples/events/main.go

taiji2004 commented 1 year ago

运行这个 examples/events/main.go,没有报错,因为里面没有下面的代码 err = server.AddStore(bolt.New("mochi.db", &bbolt.Options{ Timeout: 500 * time.Millisecond, })) if err != nil { log.Fatal(err) }

加上这个 运行就报错了