目次
phpのswoole拡張機能swooleoncloseでoncloseとonconnectインターフェースが呼び出されない問題
ホームページ バックエンド開発 PHPチュートリアル PHPのswoole拡張機能、swooleonclose_PHPチュートリアルでonclose、onconnectインターフェースが呼び出されない問題について

PHPのswoole拡張機能、swooleonclose_PHPチュートリアルでonclose、onconnectインターフェースが呼び出されない問題について

Jul 12, 2016 am 09:00 AM
php swoole そして 拡大する インターフェース 使用 質問

phpのswoole拡張機能swooleoncloseでoncloseとonconnectインターフェースが呼び出されない問題

swoole拡張機能を使ってオンラインチャットのサンプルを書いているときに問題が発生したので、いろいろ調べたので記録します。ここ。

swoole_server のインターフェース文書を見ると、コールバック登録インターフェースに明確なコメントがあります:

リーリー

swoole_http_server と swoole_server はほぼ同じですが、swoole_http_server では接続インターフェースと受信インターフェースが呼び出されず、それに応じて要求インターフェースが呼び出されます。

チャットの小さな例では、swoole_websocket_server が使用されています。テストを通じて、swoole_websocket_server の受信インターフェイスは、ワーカー内で長い接続サービスとして呼び出されます。

close と connect のコールバックは引き続き必要です。たとえば、オンライン ブロードキャスト通知とオフライン ブロードキャスト通知を適切に実装するには、これら 2 つの対応するインターフェイスへのコールバックが必要です。したがって、公式は間違いなくコールバックをサポートしています。

swooleのバージョンアップのお知らせでようやく問題が判明しました。

Swoole-1.7.16バージョンがリリースされました、バグ修正バージョン:

swoole_server->tick および swoole_timer_tick 関数を追加

gzip 圧縮のための http サーバー サポートを追加
swoole_table->incr/decr アトミック インクリメント/デクリメント メソッドを追加
open_eof_split 設定を追加、EOF 検出を使用して自動下請けをサポート
サーバー統計項目 request_count を追加およびworker_request_count
サーバー接続イテレータを追加します。foreachを使用してサーバーのすべての接続をトラバースできます
httpサーバーリクエストのquery_stringを追加します
httpサーバーのマルチパートフォームのサポートを追加し、ファイルをアップロードします
onReceiveデータマージエラーのバグを修正します
のバグを修正しますswoole_server->addtimer と Tick timer の間の競合
低バージョンの Linux で Accept がブロックを設定しない問題を修正
Accept が失敗し、接続が多すぎてログを繰り返し出力する問題を修正
task_max_request パラメーターが無効である問題を修正
修正swoole_client の waitall パラメータ無効化の問題
swoole_table の無限ループのバグを修正
WebSocket サーバーの onOpen コールバック関数の 2 番目のパラメータが $fd から $request オブジェクトに調整されました
Http サーバーは空の本文応答の送信を許可します
swoole_websocket_server->send メソッド
BASE モードのサポート 任意の FD にデータを送信

Dispatch_mode = 1、3 に設定し、onClose/onConnect イベント コールバックを閉じる Worker プロセスがシステム以外の予約信号を設定できるようにする
オブジェクトのリソース属性に対する swoole の根本的な依存関係を改善し、ポインターを直接読み取ります。 パフォーマンスを向上させます。
ハートビート スレッドがレガシー接続を強制的に強制終了できない問題を解決します。
タスク分散の効率を向上させるために、dispatch_mode=3 モードを最適化します。
ワーカー配置モードの問題です。プリエンプション モードとポーリング モードでは、これら 2 つのコールバック インターフェイスは呼び出されなくなります。固定モードでは、各クライアントのデータ パケットは固定ワーカー プロセスによって処理されるため、このクライアントに属する一部のプライベート情報をワーカー プロセスに保存したり、頻繁に読み書きされるデータの一部をキャッシュしたりできます。これは、 Erlangのプロセス辞書を操作します。このように、クライアントはオフラインになったときにいくつかのクリーニング操作を行う必要があります。オンライン初期化操作。したがって、このモデルは非常に意味があり、必要です。固定モードは、各クライアントのロジックが比較的均一である状況を処理するのに適しています。

http://www.bkjia.com/PHPjc/1094275.html

tru​​ehttp://www.bkjia.com/PHPjc/1094275.html技術記事 PHP の swoole 拡張機能で onclose および onconnect インターフェイスが呼び出されない問題。swoole 拡張機能を使用してオンライン チャットのサンプルを作成するときに、swooleonclose で問題が発生しました。たくさんの情報を確認して思い出しました...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP サービス CakePHP サービス Sep 10, 2024 pm 05:26 PM

この章では、CakePHP で利用できる認証プロセスに関する情報を扱います。

See all articles