keepAlive'握手'是必需的,它不能被禁用,它是经纪人如何知道客户端仍然连接。

在将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) 
    } 
    ...