Go での「http: 書き込みが宣言された Content-Length を超えています」エラー
phpエディターの真一が今日はGo言語でよく起こる「http:writeが宣言されたContent-Lengthを超えています」エラーについて紹介します。 Go 言語を使用して HTTP リクエストを作成すると、このエラーが発生することがあります。このエラーの理由は、リクエスト ヘッダーで宣言した Content-Length が、実際に送信されるリクエスト本文の長さと一致しないことです。次に、このエラーが発生する原因と解決方法について詳しく説明します。
質問の内容
私は Go を実験していて、ワーカー コルーチンによって処理される HTTP リクエストのキューを管理するアプリケーションを作成しました。
同時実行機能は正常に動作しているようですが、http 応答を送り返すときに次のエラーが発生します: 宣言された Content-Length
よりも多くのコンテンツが書き込まれました。
完全なコードは次のとおりです:
リーリーこの問題を解決する方法はありますか?また、私は Go の同時実行性について非常に初心者なので、改善できると思いますか?ありがとう!
解決策
によるとあなたの ハンドラー
は、リクエスト/ライターをキューにプッシュして戻しています。これは、ハンドラーが戻った後に ResponseWriter
に書き込もうとしていることを意味し、上記の規定に違反します (同期がないため、書き込みは実際には より前または同時に行われる可能性もあります)。戻る###)。
リーリー
それは実際には要件によって異なります。一般的な解決策は、チャネルを使用することです (ハンドラーがチャネルにリクエストを送信し、複数のワーカーが同じチャネルから受信します)。以上がGo での「http: 書き込みが宣言された Content-Length を超えています」エラーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

Go言語での文字列印刷の違い:printlnとstring()関数を使用する効果の違いはGOにあります...

ポインター構文とviperライブラリの使用における問題への取り組みGO言語でプログラミングするとき、特にポインターの構文と使用を理解することが重要です...

GO言語で構造を定義する2つの方法:VARとタイプのキーワードの違い。構造を定義するとき、GO言語はしばしば2つの異なる執筆方法を見ます:最初...

redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

GOのマップイテレーションにより、すべての値が最後の要素になるのはなぜですか? Go言語では、いくつかのインタビューの質問に直面したとき、あなたはしばしば地図に遭遇します...
