go - 如何使用 protobuf 二进制文件过滤 PUB/SUB ( ZeroMQ )?
问题描述
我使用 Go、ZeroMQ 和 protobuf 来编写微服务。
带有PUB/SUB
原型的 ZeroMQ。(zmq4
Go 中的 lib)。如何在SUB
带有二进制 protobuf 消息的消息中使用过滤器?
例如我的原型消息:
语法 = "proto3";
message UserMessage {
string userId = 1;
string msg = 2;
}
我想过滤SUB
值为以下的客户端的消息userId
:
listener.SetSubscribe("42") // <-string not working.
解决方案
我知道了:
listener.SetSubscribe( string( []byte{ 10, 2 } ) + "42" )
推荐阅读
- emacs - 如何在 Emacs-LISP 中将(非交互式)函数变成命令(交互式函数)?
- sql - 为什么 MVC Web 应用程序不反映基于 SQL Server 的安全模型中的权限添加
- arrays - 如何将字节数组从 Go 发送到 C
- javascript - 内容显示在导航栏下方而不是右侧
- python - pyrfa DLL 加载失败
- python - 我认为我的 xpath 正确,但不断收到“爬取 0 页(以 0 页/分钟),抓取 0 个项目(以 0 个项目/分钟)”
- python - 如果只有第一组匹配,如何匹配第二组
- javascript - 我如何在 webpacker 中添加 babel?
- sql - 如何在没有键 postgres 的情况下加入 2 个带有 json 数组的表
- python - 为什么在有和没有上下文的情况下捕获异常关闭打开的文件?