如何在golang中创建主题并发送WebSocket消息?我正在使用gorilla/WebSocket库来创建我的WebSocket,但我想创建主题来发送和接收消息,有人对如何做到这一点有任何想法吗?我将在下面留下我的代码:
package main
import (
"fmt"
"log"
"net/http"
"github.com/gorilla/websocket"
)
var upgrader = websocket.Upgrader{
ReadBufferSize: 1024,
WriteBufferSize: 1024,
}
func main() {
http.HandleFunc("/gs-guide-websocket", wsHandler)
log.Fatal(http.ListenAndServe("x.x.x.x:8080", nil))
// Fecha a conexão
}
func wsHandler(w http.ResponseWriter, r *http.Request) {
conn, err := upgrader.Upgrade(w, r, nil)
if err != nil {
log.Println(err)
return
}
defer conn.Close()
for {
messageType, message, err := conn.ReadMessage()
if err != nil {
log.Println(err)
return
}
fmt.Println("Received message:", string(message))
err = conn.WriteMessage(messageType, message)
if err != nil {
log.Println(err)
return
}
}
}
字符串
非常感谢你的帮助,谁能帮忙
2条答案
按热度按时间bqf10yzr1#
WebSocket不是消息队列协议,所以没有“topics”的概念,它需要客户端通过HTTP协议主动向服务器请求,然后双方协商升级到一个WebSocket连接,你可以保持这个连接,然后直接向对方发送任何消息。
f5emj3cl2#
[解决]
你可以给一个mqtt发一条消息:
伺服器:
字符串
委托方:
型
你能给跺脚人发个信息吗:
的字符串
感谢@无名6849和@布里茨