Отправка событий в socket.io из PHP

Привет, я пытаюсь отправить события из PHP на сервер socketio. Я пробовал обе эти вилки:

https://github.com/rase-/socket.io-php-emitter
https://github.com/ashiina/socket.io-php-emitter

Код PHP:

<?php

require_once( 'socketio/src/Emitter.php' );

$emitter = new SocketIO\Emitter( array( 'port' => '6379', 'host' => '127.0.0.1') );

$emitter->broadcast->emit( 'testcall', 'data' );

?>

package.json:

{
    "name": "Emitter",
    "devDependencies": {
        "express": "~4.13.4",
        "socket.io": "~1.7.3",
        "socket.io-redis": "~4.0.0"
    }
}

Узловой сервер:

var app = require( 'express' )( ),
    http = require( 'http' ).Server( app ),
    io = require('socket.io')( http ),
    redis = require( 'socket.io-redis' );

http.listen( 8081, function( ) {
    console.log( '\n==========================' );
    console.log( 'server listening on *:8081' );
    console.log( '==========================\n' );
});

io.adapter( redis({ host: '127.0.0.1', port: 6379 }) );

io.on( 'connection', function( socket ) {
    socket.on( 'testcall', function( ) {
        console.log( 'testcall' );
    });
});

У меня открыт монитор redis-cli, и я вижу, как он публикует данные в redis, но я никогда не вижу, чтобы журнал отображался. Я могу отправлять события из браузера, но PHP никогда не появляются.

Есть идеи, что я делаю не так?

1 ответ

Решение

Это работает, я просто тупой. Событие из PHP отправляется, но клиенту, а не серверу. Видимо я забыл, как это работает, ха-ха.

Другие вопросы по тегам