ホームページ >バックエンド開発 >PHPチュートリアル >スウール 初识 グラスウール ロックウール ミネラルウール
公式定義:
Swoole: PHP を再定義します
純粋な C 言語で書かれた PHP の非同期、並列、高性能ネットワーク通信エンジンは、PHP 言語での非同期マルチスレッド サーバー、非同期 TCP/UDP ネットワーク クライアント、非同期 MySQL を提供します。 、非同期 Redis、データベース接続プール、AsyncTask、メッセージ キュー、ミリ秒タイマー、非同期ファイルの読み取りと書き込み、非同期 DNS クエリ。 Swoole には Http/WebSocket サーバー/クライアントと Http2.0 サーバーが組み込まれています。
Swoole は、インターネット、モバイル通信、エンタープライズ ソフトウェア、クラウド コンピューティング、オンライン ゲーム、モノのインターネット、車両のインターネット、スマート ホームなどの分野で広く使用できます。 PHP+Swoole をネットワーク通信フレームワークとして使用すると、企業の IT 研究開発チームの効率が大幅に向上し、革新的な製品の開発にさらに集中できます。
swoole 拡張機能のインストールとケースのソース: http://wiki.swoole.com/wiki/page/6.html
単純なケース:
<?<span>php </span><span>class</span><span> Server { </span><span>private</span><span>$serv</span><span>; </span><span>public</span><span>function</span><span> __construct() { </span><span>$this</span>->serv = <span>new</span> swoole_server("0.0.0.0", 9501<span>); </span><span>$this</span>->serv->set(<span>array</span><span>( </span>'worker_num' => 8, 'daemonize' => <span>false</span>, 'max_request' => 10000, 'dispatch_mode' => 2, 'debug_mode' => 1<span> )); </span><span>$this</span>->serv->on('Start', <span>array</span>(<span>$this</span>, 'onStart'<span>)); </span><span>$this</span>->serv->on('Connect', <span>array</span>(<span>$this</span>, 'onConnect'<span>)); </span><span>$this</span>->serv->on('Receive', <span>array</span>(<span>$this</span>, 'onReceive'<span>)); </span><span>$this</span>->serv->on('Close', <span>array</span>(<span>$this</span>, 'onClose'<span>)); </span><span>$this</span>->serv-><span>start(); } </span><span>public</span><span>function</span> onStart(<span>$serv</span><span>) { </span><span>echo</span> "Start\n"<span>; } </span><span>public</span><span>function</span> onConnect(<span>$serv</span>, <span>$fd</span>, <span>$from_id</span><span>) { </span><span>$serv</span>->send(<span>$fd</span>, "Hello {<span>$fd</span>}!"<span>); } </span><span>public</span><span>function</span> onReceive(swoole_server <span>$serv</span>, <span>$fd</span>, <span>$from_id</span>, <span>$data</span><span>) { </span><span>echo</span> "Get Message From Client {<span>$fd</span>}:{<span>$data</span>}\n"<span>; } </span><span>public</span><span>function</span> onClose(<span>$serv</span>, <span>$fd</span>, <span>$from_id</span><span>) { </span><span>echo</span> "Client {<span>$fd</span>} close connection\n"<span>; } } </span><span>//</span><span> 启动服务器</span><span>$server</span> = <span>new</span> Server();
<?<span>php </span><span>class</span><span> Client { </span><span>private</span><span>$client</span><span>; </span><span>public</span><span>function</span><span> __construct() { </span><span>$this</span>->client = <span>new</span><span> swoole_client(SWOOLE_SOCK_TCP); } </span><span>public</span><span>function</span><span> connect() { </span><span>if</span> (!<span>$this</span>->client->connect("127.0.0.1", 9501, 1<span>)) { </span><span>echo</span> "Error: {<span>$fp</span>->errMsg}[{<span>$fp</span>->errCode}]\n"<span>; } </span><span>$message</span> = <span>$this</span>->client-><span>recv(); </span><span>echo</span> "Get Message From Server:{<span>$message</span>}\n"<span>; </span><span>fwrite</span>(STDOUT, "请输入消息:"<span>); </span><span>$msg</span> = <span>trim</span>(<span>fgets</span><span>(STDIN)); </span><span>$this</span>->client->send(<span>$msg</span><span>); } } </span><span>$client</span> = <span>new</span><span> Client(); </span><span>$client</span>->connect();
2 つのターミナルをそれぞれ開き、次のように入力します: php server.php php client.php を実行して効果を確認してください。
以上、Wool と ole の内容を含め、Swoole の最初の入門を紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。