Golang Stomp Websocket 连接:使用 Stomp 库处理心跳

问题描述 投票:0回答:1

我正在 Golang 中使用 .我已使用以下选项设置连接:

    stomp.ConnOpt.HeartBeat(5*time.Second, 4*time.Second))

但是,我的 websocket 客户端能够从服务器接收消息,但在 x 分钟后与服务器失去连接,指示错误 readTimeout。当建立与 Stomp 服务器的连接时,我提供了如上所述的可选 HeartBeat 值。我的问题是,Go Stomp 库是否期望客户端应用程序定期发送心跳帧,还是会按照 Connect 中给出的心跳选项向服务器发送心跳?

我不确定是否必须在应用程序中编写代码来发送心跳,或者库是否在内部处理此问题。任何见解将不胜感激。谢谢!

go stomp
1个回答
0
投票

也许这就是问题所在 如果你使用 go-stomp 参数首先发送然后接收 HeartBeat func(sendTimeout,recvTimeout时间.Duration)

您已配置为每 5 秒发送一次并每 4 秒接收一次,应该反过来,每 4 秒发送一次并期望每 5 秒接收一次,并确保您在服务器上具有相同的配置。

stomp.ConnOpt.HeartBeat(4*time.Second, 5*time.Second))
© www.soinside.com 2019 - 2024. All rights reserved.