2017-04-20 85 views
1

嗨我试图从PHP发送事件到socketio服务器。我已经试过这两个叉:从PHP向socket.io发送事件

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的从不出现。

任何想法我做错了什么?

回答

0

它的工作我只是愚蠢的。来自PHP的事件正在发送,但发送给客户端而不是服务器。显然我忘了它是如何工作的。

+0

怎么样?面对相同,不知道如何接收事件客户端 – Dennis