1

私たちの学校のプロジェクトはBitTorrentクライアントです。今日、突然{tcp_error,#Port<0.2095>,emsgsize}エラーが発生しました。私の質問は、このエラーの原因は何ですか?私は持っoption {packet,4}ているgen_tcpので、パッケージからの長さが最初の4バイトと一致しないと思いますか?ハンドシェイクを除くすべてのBitTorrentメッセージの最初の4バイトがlenであるため、これは本当に奇妙なことです。昨日ダウンロードできましたが、今はこれらのメッセージが表示されます。一部のメッセージは問題なく到着することに注意してください。問題についてお考えいただきありがとうございます。

4

2 に答える 2

2

パケットが受信バッファより大きい場合 (recbuf オプション)、またはパケットが指定された最大パケット サイズより大きい場合 (packet_size オプション)、emsgsize エラーが発生します。

于 2011-12-07T13:29:52.060 に答える
-1

おそらく、パケットの 1 つが正しいヘッダーで送信されていない可能性があります。Erlang は、パケットが非常に大きいと主張するヘッダーとして解釈しています。

于 2012-10-11T19:03:47.903 に答える