LHtry
实验室

不同程序语言zmq发送主题消息的方式

liuhua-2024/9/30 15:57:42

https://blog.csdn.net/wn0112/article/details/99298710


python 的zmq 的发送接收有很多方法,send(), send_json(), send_multipart(),而golang 的zmq只有一个send()。


python subscribe 用的是recv_multipart(),收到的是一个列表,第一个值是订阅的Topic,第二个是数据。

那么golang用zmq应该怎么发呢? 通过查看python 版 zmq的 send_multipart() 函数源码发现,python 其实也只有一个send(),其它方式是自己加的,用了flag SNDMORE。


go的发送方式可以是:

// golang code

_, err = socket.Send(topic, zmq.SNDMORE)

_, err = socket.Send(data, 0)


这样python的 recv.multipart() 就能正确的收到了


小钉 京ICP备16032583号-1