2017-02-07 9 views
0

私はWorkermanPHPSocketIOと一緒に使用しており、指定されたサーバーに定期的にデータを送信する方法を理解しようとしています。何らかの理由で私はJavascriptで完全に正常に動作しますが、PHPから接続されたすべてのクライアントに通知する必要があります。私はスタンドアロンの機能を使用してサーバーに接続し、標準の 'メッセージ'で通知しようとしましたが、何らかの理由で何もしていません。すべてのクライアントに定期的にデータを送信してください

<?php 

require_once __DIR__ . '/vendors/autoload.php'; 
use Workerman\Worker; 
use PHPSocketIO\SocketIO; 

static $_TERMINATE_TIME = 61; 
static $_CHECK_DATA = 3; 

$io = new SocketIO(1234); 
$io->on('connection', function($socket){ 
    $socket->addedUser = false; 
    echo 'New user connected' . PHP_EOL; 
    $socket->broadcast->emit('message', array(
     'data'=> array('test' => 1, 'blah' => 2) 
    )); 
    $socket->on('message', function ($data)use($socket){ 
     $socket->broadcast->emit('message', array(
      'data' => array('test' => 1, 'blah' => 2) 
     )); 
    }); 
}); 

function HasData() 
{ 
    echo 'Need to send server-side data to all clients ...' . PHP_EOL; 
} 

// Need to send notifications from the server every N seconds 
\Workerman\Lib\Timer::add($_CHECK_DATA, 'HasData', null, true); 
// Self-destruct server after K seconds 
\Workerman\Lib\Timer::add($_TERMINATE_TIME, function() {Worker::stopAll();}, null, false); 

Worker::runAll(); 

答えて

0

私はすべてのクライアントに通知するようにサーバを接続し、要求WebSocketをすることができますPHPには準備ができて解決策がありませんように、我々はclsssic JavaScriptのピンポンおよびデータ検索に落ち着くことにしました。

関連する問題