PHP中的ZMQDevice
我试图将PHP中的ZMQDevice,php,zeromq,Php,Zeromq,我试图将$listener与带有ZMQDevice的IPC套接字一起使用,但我什么也没有收到,如果我切换到TCP,它就会工作 ZMQDevice::__construct ( ZMQSocket $frontend, ZMQSocket $backend, ZMQSocket $listener) pub.php $context = new ZMQContext(); $frontend = new ZMQSocket($context, ZMQ::SOCKET_X
$listener
与带有ZMQDevice的IPC套接字一起使用,但我什么也没有收到,如果我切换到TCP,它就会工作
ZMQDevice::__construct ( ZMQSocket $frontend, ZMQSocket $backend, ZMQSocket $listener)
pub.php
$context = new ZMQContext();
$frontend = new ZMQSocket($context, ZMQ::SOCKET_XXX);
$frontend->bind("tcp://...");
$backend = new ZMQSocket($context, ZMQ::SOCKET_XXX);
$backend->bind("ipc://backend.ipc");
$listener = new ZMQSocket($context, ZMQ::SOCKET_PUB);
$listener->bind("ipc://witness.ipc");
$device = new ZMQDevice($frontend, $backend, $listener);
$device->run()
sub.php
$context = new ZMQContext();
$receiver = new ZMQSocket($context, ZMQ::SOCKET_SUB);
$receiver->setSockOpt(ZMQ::SOCKOPT_SUBSCRIBE, '');
$receiver->connect("ipc://witness.ipc");
环境:
libzmq1:amd64 2.2.0+dfsg-5
zmq for PHP was installed with pecl
有什么想法吗
谢谢。很抱歉,我发现了原因,我忘了设备是在另一个目录中执行的。有什么帮助吗?尝试?请在你的帖子中添加更多的细节,否则就无法帮助你。你是如何获得上下文的?这是问题中的相同过程吗?你有哪个版本的ZMQ?你是如何安装扩展的(PECL或github)?PECL和源代码来自github的编译之间有什么大的不同吗?有。github上的扩展包含几个主要区别,这些区别允许正确使用IPC/INPROC传输,特别是在使用pthread或fork时。