パケットとチェックサム機能があります。パケットを送信する前に、チェックサムフィールドは0です。チェックサムを計算し、チェックサムフィールドに値を追加します。受信側で同じチェックサム関数を使用すると、送信側で計算するときにチェックサムが最初は0であるため、不一致が発生しますが、受信側ではチェックサムが異なるゼロ以外の値になります。
これを回避するには、レシーバー側でチェックサムフィールドを0に設定し、チェックサムを計算しますが、これはあまりエレガントではありません。
私はこれに対する解決策を探していましたが、役に立ちませんでした。チェックサム関数はかなり標準的なものであり、私にとってはブラックボックスです。
これをどのように修正すればよいですか?