2017-03-07 17 views
0

私は、ソケットクライアントを処理する非同期ソケットサーバーを作成しようとしています。必要なときにクライアントにメッセージを送信します。私はそれを実装するためにreactphp libraryを使用しますが、私は正しいことはできません、私のサーバーはまだブロックされています。私はこの図書館で新しいです、助けてください。PHPを使って非同期ソケットサーバーを作成するには?

require 'vendor/autoload.php'; 
$loop = React\EventLoop\Factory::create(); 
$socket = new React\Socket\Server($loop); 
$socket->on('connection', function ($conn) { 
    $conn->pipe($conn); 
}); 
echo "Socket server listening on port 4000.\n"; 
echo "You can connect to it by running: telnet localhost 4000\n"; 
$socket->listen(4200); 
$loop->run(); 


// code bottom doesn't run because of blocking socket 
+0

$ loop callingの前にコードを追加しようとしています – bxN5

答えて

0

$loop->run();イベントループを実行し、ループを停止しない限り戻りません。ループはあなたのスケジューラーであり、イベントが発生した場合にイベントハンドラーを呼び出します。

イベントに反応する場合は、ループを実行する前にイベントリスナーを登録する必要があります。

関連する問題