прослушивание нескольких портов TCP с использованием сокета ReactPHP - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь запустить ReactPHP TCP-сокеты на диапазоне TCP-портов (от 1000 до 2000). Все порты открыты, и я вижу, что соединение установлено во время тестирования с использованием telnet, но сокеты никогда не запускают событие connection.on('data' ...). Использование любого вида переадресации портов не вариант. Все работает при использовании меньшего диапазона портов: ровно 255 , вместо 1000 .

<?php
require 'vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
for ($i = 1000; $i < 2000; $i++) {
    $socket[$i] = new React\Socket\Server('127.0.0.1:' . $i, $loop);
    $socket[$i]->on('connection', function (React\Socket\ConnectionInterface $connection) {
        echo "connection happened";
        $connection->write("Hello " . $connection->getRemoteAddress() . "!\n"); // this part works 
        $connection->on('data', function ($data) use ($connection) {
            echo $data; // for some reason this never fires
        });
    });
}
$loop->run();
...