Swoole は、インターネット、モバイル通信、エンタープライズ ソフトウェア、オンライン ゲーム、モノのインターネット、車両のインターネット、スマート ホームなどの分野で広く使用できます。 PHP Swoole をネットワーク通信フレームワークとして使用すると、企業の IT 研究開発チームの効率が大幅に向上し、革新的な製品の開発にさらに集中できます。
Swoole には、下部に非同期ノンブロッキングのマルチスレッド ネットワーク IO サーバーが組み込まれています。 PHP プログラマはイベント コールバックを処理するだけでよく、基礎となる層について気にする必要はありません。
Nginx/Tornado/Node.js などの完全な非同期フレームワークとは異なり、Swoole は完全な非同期と同期の両方をサポートします。 (推奨学習: swoole ビデオ チュートリアル )
Swoole はオープンソースのフリー ソフトウェアであり、ライセンス契約は Apache2.0 です。企業開発者と個人開発者の両方が Swoole のコードを無料で使用でき、Swoole で行われた変更はオープンソースなしで商用製品に使用できます (注: 元の作成者の著作権表示は保持する必要があります)。
Swoole の実装
Swoole は純粋な C で書かれており、他のサードパーティ ライブラリに依存しません。
swoole は libevent を使用しないため、libevent をインストールする必要はありません
swoole は PHP の stream/sockets/pcntl/posix/sysvmsg およびその他の拡張機能に依存しません
socket パート
swoole は、基礎となるソケット システム コールを使用します。 sys/socket.h
IO イベント ループ
メイン プロセスのイベント ループは、select/poll を使用します。これは、メイン プロセスには少数のファイル記述子しかないためです。スレッド、使用する Just select/poll
リアクター スレッド/ワーカー プロセスで epoll/kqueue を使用する
タスク プロセスにはイベント ループがなく、プロセスは循環して読み取りパイプをブロックします。
多くの人は strace -p を使用して swoole のメインプロセスを表示しますが、poll システムコールのみが表示されます。正しい表示方法は strace -f -p
です。以上がスウールは何に使われますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。