2012-05-07 17 views
0

毎回良いデータを送信しないネットワークアプリケーションを作成しています(ほとんどの場合、それらは壊れています)ので、コントロール合計を作るのが難しいです。データの最後に、コントロール合計が追加され、有効であるかどうかがチェックされます。だから私は、100、100^2、100^3 ...ですべてのデータ(それらは1から100まで)を乗算することをお勧めし、それらを合計することは良い考えであるとは思わない。 本当に大きな番号を付けずに何をすべきか提案しています(パケットごとに多くのデータがあります)。 例: データ:1,4,2,77,12,32,5,52,23 私のソリューション:1,4,2,77,12,32,5,52,23,100 + 40000 + 2000000 + 77 * 10^4 ... クライアントはパケットを受信すると、最後のデータが他のデータの合計と等しいかどうかをチェックします。 もっと良い解決策はありますか?ネットワーク接続のコントロール合計

+1

「チェックサム」を意味しますか?必要なものはCRC(Cyclic Redundancy Check)です。または、あなたのネットワークコードを修正する:-) – EJP

答えて

0

データを掛け合わせると、送信する数値が非常に大きくなり、数値が正しいという確信はほとんどありません。また、追加によって潜在的なオーバーフローの問題が発生します。そのため、xorを使用するのが通例です。

また、http://en.wikipedia.org/wiki/Error-correcting_codeを読むと、少数のエラーを検出し、時には訂正できる優れたソリューションを得ることができます。ここ

0

128はバイナリで10000000なので、サブネット化には1ビットしかなく、ホストには7ビットしかありません。クラスCのネットワークアドレス192.168.10.0をサブネット化します。

 192.168.10.0 = Network address 
    255.255.255.128= Subnet mask 
関連する問題