Gorilla Websocket と alexedwards/scs/v2 を使用して http.Hijacker を実装する方法

PHPz
リリース: 2024-02-10 13:21:08
転載
1239 人が閲覧しました

如何使用 Gorilla Websockets 和 alexedwards/scs/v2 实现 http.Hijacker

php 編集者 Apple は本日、Gorilla Websocket と alexedwards/scs/v2 ライブラリを使用して http.Hijacker を実装する方法を紹介しました。この方法は、開発者が独自のアプリケーションにリアルタイム通信機能を実装するのに役立ちます。チャット ルームやリアルタイム更新などもこの方法で実装できます。次に、これら 2 つのライブラリを使用して http.Hijacker を実装し、アプリケーションをより強力かつ柔軟にする方法を詳しく説明します。

質問内容

Go Web アプリケーションの優れた alexedwards/scs/v2 が最近 2.5.0 から 2.7.0 にアップグレードされ、Go 1.20 が http.NewResponseController() をサポートできるようになりました。その後、大きなファイルのアップロードに対する拡張ハンドラー固有のサーバー書き込みタイムアウトを許可します。これはいい。 この必要なアップグレードの残念な結果として、現在は Gorilla Websockets v1.5.1 (最新) を使用している WebSocket 機能が失われます。アップグレードするために接続しようとすると、一般的なエラーが発生します... websocket: 応答が実装されていません http.Hijacker これについていくつかのスレッドを調べましたが、そのうちのいくつかはSOに関するものでしたが、このケースに特有のものは何も解決できませんでした。 他のミドルウェアコードとともにWebSocketエンドポイントハンドラーにhttp.Hijackerを実装するためにいくつかのことを試しました(コメントアウトされ、説明のために「誤解を招く」例が添付されました)...私はこれを理解していると思うだけですが、十分ではありません。 ..

リーリー

この例の「w」は *scs.sessionResponseWriter です。 接続を切断したりアップグレードしたりせずに、応答に http.Hijacker を実装するにはどうすればよいですか?正しいアプローチは何ですか?

回避策

alexedwards/scs/v2 パッケージ バージョン 2.5.0 ハイジャッカー インターフェイスをサポート。バージョン 2.7.0 はハイジャッカー インターフェイスをサポートしていませんが、サポート レスポンス コントローラーをサポートしています。ゴリラ Websocket パッケージ は応答コントローラーを 使用しません。

######オプション1######

2.5.0 alexedwards/scs/v2 パッケージを使用します。

オプション 2

アプリケーション コード内の応答ライターを解凍して、ゴリラ パッケージの欠陥を回避します。 リーリー

以上がGorilla Websocket と alexedwards/scs/v2 を使用して http.Hijacker を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!