2016-05-12 60 views
1

是否有可能向浏览器广播或发布数据,并使用JavaScript来处理它,从而使用ReactPHP而不使用棘轮?可能使用ReactPHP进行广播?

我有一个periodicTimer事件循环,有时它需要广播或发射给用户连接的套接字。我看到有一个类套接字,在React github项目页面的示例中,它已实例化,但未在web-flow中使用,仅在netcat上使用。是否有可能使它在socket.IO或Ratchet等浏览器上本地工作?

工厂和连接工作正常,我只是不知道如何绑定套接字发送/接收数据到事件循环的服务器。

回答

1

广播这不是超级特殊功能。

首先,您需要保存全局范围内的所有用户连接。 例如,您有一个TestServer类,它可以包含属性连接(类型数组)。在方法运行你写循环。

例如,这您连接事件

$server->on('connection', function(ConnectionInterface $conn) { 
    $this->connections[] = $conn; 
}); 

而且编写方法

public function broadcast($message) { 
    foreach($this->connections as $conn) { 
      $conn->write($message); 
    } 
} 

注意! 如果用户断开连接,则必须编写代码以删除断开连接,如果需要,可以编写有关主题的逻辑。