ホームページ >バックエンド開発 >PHPチュートリアル >PHP ソケット データが待機中、PHP がスタックしている

PHP ソケット データが待機中、PHP がスタックしている

WBOY
WBOYオリジナル
2016-06-23 13:30:261225ブラウズ

サーバープログラムがあります。マルチスレッド。 phpを使用してソケット経由で接続します。サーバーはデータを同期的に送受信します。スレッドプール。

さて、質問です。 phpを使用してサーバープログラムに接続する場合。しばらく待つ必要があります。データを返却することができます。
今回は。 phpが解析できません。サーバー プログラムはソケット リクエストを通常どおり処理できますが、PHP 全体が停止するため、データが返されるまで待機する必要があります。データ受信完了後。そうして初めて、php ファイルの解析を続けることができます。

PHP がすべてを停止してこのデータが返されるのを待たなくて済むようにする方法はありますか?


ディスカッションへの返信(解決策)

同期送受信なので当然完了を待たなければなりません

Webプログラムの場合は、ajaxを使ってこのphpソケットプログラムを非同期で呼び出して、ページが終了しないようにします。
CLI プログラムの場合は、php の libevent 拡張機能またはマルチスレッド拡張機能 pthreads を追加します

現在のページは停止していません。それよりも。 。 PHP全体が停止します。 。 。データを受信するまで。 。 php は解析を続行できます。

もちろん、非同期を使用しない限り、同期を待つ必要があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。