Предупреждение о реакции & quot; stream_select (): не может представлять поток типа ZMQ_FD в качестве дескриптора с возможностью выбора () & quot;

Я пытаюсь использовать Ratchet в первый раз и следую толчок учебник.

У меня есть следующий код в push-server.php:

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();

Когда я запускаю файл, я получаю следующее предупреждение

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 является:

return stream_select($read, $write, $except, $timeout === null ? null : 0, $timeout);

Я никогда не использовал Ratchet или ZeroMQ раньше и пытаюсь понять, в чем проблема. Я не могу найти ничего полезного в Google при поиске этого.

Я использую WampServer x 64 на Windows 7 x 64. Я следовал это руководство о том, как установить ZMQ.

Вот несколько скриншотов отладки:

введите описание изображения здесь

введите описание изображения здесь

Что вызывает эту проблему и как я могу это исправить?

2

Решение

После пяти часов попыток выяснить решение этой проблемы я попытался установить 32-разрядную версию WampServer на основе прочитанного мною комментария, и проблема была устранена. Таким образом, кажется, что проблема stream_select () вызвана проблемой с WampServer.

Я оставлю этот вопрос здесь, потому что я уверен, что кто-то столкнется с той же проблемой в какой-то момент, и, надеюсь, это сэкономит им много времени.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]