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 サイトの他の関連記事を参照してください。