golang-实现zmq-发布订阅
下面是一个简单的 Go 代码实现 ZeroMQ 的发布订阅模式:
package main
import (
"fmt"
zmq "github.com/zeromq/goczmq"
)
func main() {
// 创建一个 ZeroMQ 上下文
ctx := zmq.NewContext()
defer ctx.Destroy()
// 创建一个发布者
pub, _ := zmq.NewPub(ctx)
defer pub.Destroy()
// 绑定地址
pub.Bind("tcp://*:5555")
// 创建一个订阅者
sub, _ := zmq.NewSub(ctx)
defer sub.Destroy()
// 订阅所有主题
sub.SetSubscribe("")
// 连接发布者
sub.Connect("tcp://localhost:5555")
// 发布消息
pub.SendFrame([]byte("Hello, World!"), 0)
// 接收消息
msg, err := sub.RecvFrame()
if err != nil {
fmt.Println(err)
} else {
fmt.Println(string(msg))
}
}
以上代码创建了一个 ZeroMQ 上下文,然后创建了一个发布者和一个订阅者,绑定和连接地址,然后发布一条消息并接收该消息。在订阅者中,我们使用 SetSubscribe() 方法来订阅所有主题。在实际应用中,您可以根据需要订阅特定的主题或模式。
原文地址: https://www.cveoy.top/t/topic/l5h 著作权归作者所有。请勿转载和采集!