3

重複の可能性:
PHP でコメットを使用しますか?

PHP で書かれたバックエンドを持つソーシャル アプリケーションを作成しています (FuelPHP フレームワークを使用しています)。Facebookが通知に対して行うのと同様の方法で、サーバー上で何らかのイベントが発生したことをクライアントに通知したいと思います。

現時点では、AJAX を使用して繰り返しポーリングを使用しているだけですが、クライアントに対して発生するサーバー上のイベントを使用して、より適切な実装を実現できると思います。

node.js を使用して、Web ソケットと socket.io モジュールを使用して、この種の通信を実現しました。

PHPでこのようなことを行う方法はありますか? PHP は、この種のコミュニケーションには本当に不向きなのでしょうか? どうにかしてノード ベースの子プロセスを生成できますか?

これは知識不足です。誰かが私が調査できる解決策を教えてもらえますか?

このコードは、私がやろうとしていることを示しているかもしれません...

private function initEvents() {

  $events = Event::instance('chat_event_listener');

  $events->register('messageWasReceived', function($message){
    $this->handleMessageReceived($message);
  });

}

public function post_addNewMessage(){

  //Client uses Posts message to this method using AJAX

  $message = \Input::post('message');
  Event::instance('chat_event_listener')->trigger('messageWasReceived', $message);

  return $this->response(array(
    'success' => true,
    'data' => 'TO DO',
  ));

}

private function handleMessageReceived($message){
  $this->firephp->log('Message received on server: ' . $message);
  //notify client
}
4

0 に答える 0