[ビデオチュートリアル]最新バージョンのswooleのインストールおよび機能テストのタスク

複数の同時高性能ネットワーク通信拡張今日は、我々は、PHPのレベルで複数の同時非同期通信を実現しインストールしてテストPHP、およびこの拡張は、後にPHPにロードされたCの声を、使用して開発され、多くの機能は、音声をシミュレートして行きます大幅にPHPアプリケーションシナリオを広げます。

フレーズの公式サイトを直接使用している場合は、エラーが発生する可能性があり、あなたがswooleをインストールするときにジャムが動かない、一度成功することができるより多くを試す、命令することができます。
PECL swooleをインストールし
た環境とCLI、iniファイルのPHPのFPM環境を設定するには、そのための内部ロード拡張します。

動画の住所:

https://www.bilibili.com/video/av70354024/

httpServer.php

$ HTTP =  swoole_http_server( "127.0.0.1"、9501 ); 

$ HTTP - >上の(、 "スタート" 機能$サーバー){
         エコーは "Swooleのhttpサーバがhttp://127.0.0.1:9501\nで開始されました" ; 
}); 

$ HTTP - >( "要求"に、機能$要求$応答){
         $応答 - > ヘッダ( "のContent-Type"、 "text / plainの" );
             $応答 - > 終了( "Hello Worldの\ nを" ); 
}); 

$ HTTP - >スタート();

多少の誤差があるだろうときのHttpClientの使用に注意してください、swooleの最初の新バージョンがSwoole \のHttp \クライアントを削除し、クラスが報告され、そして第二協会の過程でgetメソッドを実行するために見つけることができません

httpClient.php

$クライアント=新しいswoole_client(SWOOLE_SOCK_TCP、SWOOLE_SOCK_ASYNC)。
$クライアント- >上( "接続"、機能($のCLI){ 
	    $ cli->( "こんにちは世界\ nを"送ります); 
}); 
$クライアント- >上の( "受信"、関数($ CLI、$データ){ 
	    エコー"を受信:{$データ} \ n"; 
}); 
$クライアント- >上に( "エラー"、関数($ CLI){ 
	    "失敗\ nを接続する"エコー; 
}); 
$クライアント- >上の( "クローズ"、関数($ CLI){ 
	    エコー"接続クローズする\ n"; 
}); 
$クライアント- >( "127.0.0.1"、9502、0.5)を接続します。

taskServer.php

<?PHPの
$のSERV =新しいSwoole \サーバー( "127.0.0.1"、9502、SWOOLE_BASE)。

$ serv->セット(配列(
    'worker_num' => 2、
    'task_worker_num' => 4 
))。

$ serv->( '受信'、関数(Swoole \サーバーの$ SERV、$ FD、$ from_id、$データ){上
    。。エコー"接收数据" $データ"\ n"は; 
    $データ=トリム($データ) ; 
    $ TASK_ID = $ serv->タスク($データ、0); 
    $ serv->送信($ FD "分发任务、任务のID为する$ TASK_IDする\ n"); 
}); 

$ serv->( 'タスク'、機能上(Swoole \サーバーの$ SERV、$ TASK_ID、$ from_id、$データ){ 
    エコー"タスカー进程接收到数据"; 
    #」エコー{$ serv-> worker_id} \ tonTask: [PID = {$ serv-> worker_pid}]。TASK_ID = $ TASK_ID、DATA_LEN =」strlenを($データ)。PHP_EOL ""。
    $ serv->仕上げ($データ)。
});

$ serv->に( '完了'、関数(Swoole \サーバーの$ SERV、$ TASK_ID、$データ){ 
    。$データ).PHP_EOL(strlenを"タスク#$は、DATA_LEN =完成TASK_ID"エコー; 
}); 

$ serv->( 'workerStart'、関数($のSERVは、$ worker_id){上の
    グローバルの$ ARGV; 
    ($ worker_id> = $ serv->設定場合[ 'worker_num']){ 
        swoole_set_process_name(「PHP {$のARGV [0 ]}:task_worker "); 
    }他{ 
        swoole_set_process_name(" PHP {$のARGV [0]}:ワーカー"); 
    } 
})。

$ serv->スタート();

  

taskClient.php

$クライアント = 新しい swoole_client(SWOOLE_SOCK_TCP、SWOOLE_SOCK_ASYNC)。
$クライアント - >上の(、 "接続" 機能$のCLI ){
         $ CLI - >送信( "こんにちは世界\ nを" ); 
}); 
$クライアント - >オン( "受信"、関数$ CLI$データ){
         エコー "を受信:{ $データ } \ n" ; 
}); 
$クライアント - > ON( "エラー"、関数$ CLI ){
         エコー "失敗\ nを接続" ; 
});
機能$ CLI ){
         エコー "接続クローズの\ nを" ; 
}); 
$クライアント - >( "127.0.0.1"、9502、0.5)を接続します。

 

  

おすすめ

転載: www.cnblogs.com/taoshihan/p/11628453.html