gpt4 book ai didi

go - 如何更改 Golang 中客户端和代理之间的 MQTT keepAlive(handshake) 间隔?

转载 作者:IT王子 更新时间:2023-10-29 01:55:36 24 4
gpt4 key购买 nike

我是 GO 和 MQTT 的新手。在我启动客户端 c := MQTT.NewClient(opts) c.Start() 之后,直到它每 30 秒断开一次连接。客户端和代理之间的握手流量出现了。我只需要调整这个间隔或完全取消握手。

最佳答案

keepAlive 'handshake' 是必需的,它不能被禁用,这是代理知道客户端仍然连接的方式。

您可以通过在将 opts 对象传递给 NewClient 方法之前调用 SetKeepAlive 来更改保持事件超时。

此方法为每个 keepAlive 数据包之间的时间取一个以秒为单位的值。

使用示例代码 here ,您可以添加这样一行,将 KeepAlive 超时设置为 30 秒。

  ...
opts := MQTT.NewClientOptions().SetBroker("tcp://iot.eclipse.org:1883")
opts.SetClientId("go-simple")
opts.SetTraceLevel(MQTT.Off)
opts.SetDefaultPublishHandler(f)
opts.SetKeepAlive(30)

//create and start a client using the above ClientOptions
c := MQTT.NewClient(opts)
_, err := c.Start()
if err != nil {
panic(err)
}
...

关于go - 如何更改 Golang 中客户端和代理之间的 MQTT keepAlive(handshake) 间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25942101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com