ZMQContexted getSocket trhow ошибка сброса соединения - PullRequest
0 голосов
/ 26 июня 2019

Я следовал этому руководству, чтобы построить систему уведомлений в режиме реального времени http://socketo.me/docs/push, и все работает хорошо.Я получаю новое подключение к серверу, но моя проблема в том, что я не могу отправить свои новые входные данные с zeromqContext, чтобы я мог ретранслировать их своим пользователям

Вот мой push-server.php, который отлично работает, и я могусм. новое соединение в терминале

DIR).'/vendor/autoload.php';

$loop   = React\EventLoop\Factory::create();
$pusher = new MyApp\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:5555'); // 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('0.0.0.0:8082', $loop); // 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();

Я соединяюсь на своем сервере с этим фрагментом кода

<script>
    var conn = new ab.Session('ws://localhost:8082',
        function() {
            conn.subscribe('kittensCategory', function(topic, data) {
                // This is where you would add the new article to the DOM (beyond the scope of this tutorial)
                console.log('New article published to category "' + topic + '" : ' + data.title);
            });
        },
        function() {
            console.warn('WebSocket connection closed');
        },
        {'skipSubprotocolCheck': true}
    );
</script>

, и моя проблема заключается в том, что когда я делаю запрос POST ajax исохранить что-то в базе данных и затем запустить эти 3 команды


$context = new ZMQContext();
$socket = $context->getSocket(ZMQ::SOCKET_PUSH, 'my pusher');
$socket->connect("tcp://localhost:5555");

мой сервер apache выдает мне net::ERR_CONNECTION_RESET, и он перезапускается.Я видел в журнале ошибок эти вещи

[ср. 26 июня 14: 16: 47.434928 2019] [mpm_winnt: note] [pid 9768: tid 564] AH00428: Parent: дочерний процесс 1216 завершен сстатус 3221225725 - перезапуск.[Ср. 26 июня 14: 16: 47.482972 2019] [ssl: warn] [pid 9768: tid 564] AH01909: www.example.com:443:0 сертификат сервера НЕ содержит идентификатор, соответствующий имени сервера [ср 26 июня14: 16: 47.515009 2019] [mpm_winnt: note] [pid 9768: tid 564] AH00455: Apache / 2.4.39 (Win64) OpenSSL / 1.1.1c PHP / 7.2.19 настроен - возобновление обычных операций [ср. 26 июня 14: 16: 47.515009 2019] [mpm_winnt: note] [pid 9768: tid 564] AH00456: Сервер Apache Lounge VC15 построен: 29 мая 2019 г. 11: 22: 50

Я искал код состояния, и яобновил мой httpd.conf файл с ThreadStackSize 888888, но я получаю ту же ошибку.

...