Swoole は PHP の非同期並列拡張機能で、Node.js に少し似ていますが、swoole は同期と非同期の両方をサポートしており、node よりも強力です。 Swoole 拡張機能は、epoll の高性能イベント ポーリングに基づいており、マルチスレッドであり、非常に優れたパフォーマンスを備えています。
?
Swoole は、ネットワーク サーバー/クライアント機能を提供することに加えて、タスク非同期タスク マネージャーも提供します。これにより、プログラム内の特定の処理速度の遅い関数を非同期で実行できるようになります。
?
この記事では swoole 拡張機能の使用方法について説明します。
?
ステップ 1 インストール
swoole は Linux/FreeBSD/Mac のみをサポートします。Windows システムを使用している場合は、仮想マシンをインストールしてください。VirtualBox/VMWare も使用できます。次に、仮想マシンに Linux をインストールします。
?
swoole は PHP の公式拡張ライブラリに追加されているため、Linux システムで
を実行するだけで済みます。?
pecl install swoole
?
インストールの準備ができました。インストール後、php.ini を変更し、extension=swoole.so を追加します。次に、php -m または phpinfo を確認して、swoole が表示されればインストールは成功です。
?
2 番目のステップは、サーバー プログラムを作成することです
PHP スクリプト ファイルserver.php を作成します。コード内容:
?
$serv = new swoole_server("127.0.0.1", 9501); $serv->on('connect', function ($serv, $fd){ echo "Client:Connect.\n"; }); $serv->on('receive', function ($serv, $fd, $from_id, $data) { $serv->send($fd, 'Swoole: '.$data); }); $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); $serv->start();
では、次を実行します:
?
php server.php
?
サーバーに接続するには Telnet を使用しますか?
telnet 127.0.0.1 9501 > hello world > Swoole: hello world
?
非常に簡単ではありませんか? わずか 11 行のコードで、基盤となるネットワークを介してデータを送受信する非同期の高同時実行 TCP サーバーが作成されます。次のステップでは、インスタント チャット、ファイルの送受信、通信など、やりたいことを実行できるようになります。
?
?
?