Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的ZMQDevice_Php_Zeromq - Fatal编程技术网

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时。