2017-04-20 4 views
1

Bonjour, J'essaie d'émettre des événements de PHP vers un serveur socketio. J'ai essayé ces deux fourches:Émission d'événements à socket.io à partir de PHP

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

Code 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" 
    } 
} 

serveur Noeud:

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'); 
    }); 
}); 

J'ai redis-cli moniteur ouvert et je peux le voir publier des données à redis mais je ne vois jamais le journal apparaît. Je peux émettre des événements à partir d'un navigateur mais les fichiers PHP n'apparaissent jamais.

Des idées que je fais mal?

Répondre

0

Ça marche, je suis juste bête. L'événement de PHP est envoyé, mais pas au client. Apparemment j'ai oublié comment ça marche hah.

+0

comment? face à la même chose, pas sûr de savoir comment recevoir l'événement côté client – Dennis