首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >响应警告"stream_select():不能将类型为ZMQ_FD的流表示为select()可选描述符“

响应警告"stream_select():不能将类型为ZMQ_FD的流表示为select()可选描述符“
EN

Stack Overflow用户
提问于 2015-01-18 16:48:49
回答 1查看 723关注 0票数 2

我第一次尝试使用棘轮,并且正在跟踪推送教程

我在push-server.php中有以下代码

代码语言:javascript
复制
namespace app\ratchet;
require_once(__DIR__ . '/../common_functions.php'); // my autoloader
require __DIR__ . '/../../vendor/autoload.php'; // composer autoloader

use app\ratchet\Pusher;

use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;

$loop   = \React\EventLoop\Factory::create();
$pusher = new Pusher;

// Listen for the web server to make a ZeroMQ push after an ajax request
$context = new \React\ZMQ\Context($loop);
$pull = $context->getSocket(\ZMQ::SOCKET_PULL);
$pull->bind('tcp://127.0.0.1:8184'); // Binding to 127.0.0.1 means the only client that can connect is itself
$pull->on('message', array($pusher, 'onBlogEntry'));

// Set up our WebSocket server for clients wanting real-time updates
$webSock = new \React\Socket\Server($loop);
$webSock->listen(8185, '0.0.0.0'); // Binding to 0.0.0.0 means remotes can connect
$webServer = new \Ratchet\Server\IoServer(
    new \Ratchet\Http\HttpServer(
        new \Ratchet\WebSocket\WsServer(
            new \Ratchet\Wamp\WampServer(
                $pusher
            )
        )
    ),
    $webSock
);

$loop->run();

当我运行该文件时,会收到以下警告

代码语言:javascript
复制
Warning: stream_select(): cannot represent a stream of type ZMQ_FD as a select()able descriptor in [...]\vendor\react\event-loop\StreamSelectLoop.php on line 255

Call Stack:
    0.0000     237608   1. {main}() [...]\app\ratchet\push-server.php:0
    0.0130    1400696   2. React\EventLoop\StreamSelectLoop->run() [...]\app\ratchet\push-server.php:36
    0.0130    1401688   3. React\EventLoop\StreamSelectLoop->waitForStreamActivity() [...]\vendor\react\event-loop\StreamSelectLoop.php:201
    0.0130    1402240   4. React\EventLoop\StreamSelectLoop->streamSelect() [...]\vendor\react\event-loop\StreamSelectLoop.php:221
    0.0130    1402384   5. stream_select() [...]\vendor\react\event-loop\StreamSelectLoop.php:255

\vendor\react\event-loop\StreamSelectLook.php中的引用行是:

代码语言:javascript
复制
return stream_select($read, $write, $except, $timeout === null ? null : 0, $timeout);

我以前从未使用过棘轮或ZeroMQ,我一直在努力理解问题的所在。在搜索这个的时候,我在谷歌上找不到有用的东西。

我在Windows7x64上运行WampServer x 64。我跟踪了本指南关于如何安装ZMQ的内容。

下面是一些调试屏幕截图:

是什么导致了这个问题,我该如何解决呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-18 21:13:32

经过大约五个小时的努力找出这个问题的解决方案,我试着根据我在某个地方看到的评论安装32位版本的WampServer,问题已经解决了。因此,stream_select()问题似乎是由WampServer的问题引起的。

我将把这个问题留在这里,因为我确信在某个时候会有人遇到同样的问题,希望这能节省很多时间。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28012233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档