Linux上的Zeromq EPGM错误:不支持协议



我正在尝试使用Linux上的ZMQ进行数量播放。我的程序在试图绑定到EPGM地址的线上死亡。

我在同一主机上运行客户端和服务器时,在VC 中运行了完全相同的代码,并且运行良好。但是,从我在本网站上的其他程序员阅读的内容来看,ZMQ不支持环回功能,因此我无法使用EPGM在同一主机上发布消息。

我将程序移至Linux盒子,然后收到一个错误。这是代码和错误,您是否知道此错误是否与我使用Linux无效IP有关?

zmq::context_t context( 1 );
zmq::socket_t publisher( context, ZMQ_PUB );
publisher.bind( "epgm://224.0.0.1:5555" );

错误行是绑定线。

错误是:

terminate called after throwing an instance of 'zmq::error_t'
what():  Protocol not supported

感谢您的帮助

我找到了解决此问题的解决方案。

显然,当您打算使用ZMQ进行多播(PGM或EPGM)时,您必须使用启用PGM的./configure运行./configure,然后进行。

对于此libpgm需要

通过我提取的tar zmq tar文件在文件夹/外国/外国/有一个libpgm tar文件时。

所以我只是跑了:

./configure --with-pgm=libpgm-5.2.122~dfsg
make
sudo make install

这解决了问题,我现在可以使用EPGM绑定。

(显然,libpgm的版本将是您的ZMQ文件夹中的版本)

最新更新