我试图在客户端使用stomp.dial()函数建立stomp连接,但无法连接到服务器。
我在使用go-stomp库。我尝试了不同的方法,比如使用net.connect,然后使用stomp.connect,但是它导致了相同的错误。这个错误类似于read : wsarecv:一个现有的连接被远程主机强行关闭了,这里到底发生了什么,以及如何解决它,我的代码看起来有点像
ticker := time.NewTicker(time.Second * 5)
defer ticker.Stop()
for ; ; <-ticker.C {
st, err := stomp.Dial("tcp", conn.ConfigStr)
if err != nil {
log.Println("Stomp connect error", err.Error())
continue
}
log.Println("CONNECTED TO ", conn.ProviderName)发布于 2022-11-08 09:15:49
我就这样完成了你的要求。
首先,我在端口61613上本地运行一个STOMP服务器。为了启动它,我使用了以下命令:
docker run -it --rm -p 61613:61613 efrecon/stomp -verbose 5
然后,我使用包go-stomp和函数Dial连接到它:
package main
import "github.com/go-stomp/stomp/v3"
func main() {
conn, err := stomp.Dial("tcp", "localhost:61613")
if err != nil {
panic(err)
}
defer func() {
if err = conn.Disconnect(); err != nil {
panic(err)
}
}()
}最后,我使用Disconnect方法关闭连接。
如果这对你也有用,请告诉我。
https://stackoverflow.com/questions/74357032
复制相似问题