2012-01-27 10 views
0

私はエージェントのモビリティのコードを書いています。 ワイヤレス(ルーター経由)リンク 友人のノートパソコンでAd-Hocワイヤレス接続を作成したが失敗した。これは私が持っているエラーです: Jan 27, 2012 12:06:37 PM jade.core.mobility.AgentMobilityService$CommandSourceSi nk handleInformMoved SEVERE: Error creating agent on destination container. Abort transfer. An I/O er ror occurred during de-serialization [nested java.io.InvalidClassException: jade .core.Agent$1; local class incompatible: stream classdesc serialVersionUID = -85 03980205419088695, local class serialVersionUID = -6369687405671300436] プログラムは1つのネットワーク接続で正常に動作したので、別のコンピュータと異なる接続で同じソースで失敗しました。モバイルエージェントの輸送に奇妙なエラーがあります

  1. このエラーは何を意味しますか?最初のケースにも何かが含まれているべきである場合、脱シリル化エラー
  2. 接続のタイプ、すなわちAd-Hocが問題の根源ですか?
  3. またはそれが原因の問題を引き起こしているファイルアクセスコマンド(そして、なぜそれが最初のケースでは動作しなかった)あなたの助けを

感謝を含むコードにあります!

答えて

1

シリアル化されたオブジェクトのserialVersionUIDは、他のJVMのクラスとは異なると思います。このために、固定されたロング値を与えます。 eclipseを使用している場合、生成されたシリアル・バージョンIDをSerializableを実装するすべてのクラスに追加します。ソースコードをクリーンにして再構築します。あなただけのコマンドラインを使用している場合は、

serialver "AgentClass" 

を行い、そこから生成した値を使用し、ソースコードを再コンパイルします。

+0

エージェントコードをコンパイルしているコンピュータのSerialUIDを手動で変更できます。不明な宛先ホストのSerialUIDを変更するにはどうすればよいですか?どのような値にもserialUIDを自動設定できるJavaライブラリがありますか? – Purushottam

+0

すべてのユーザーに同じソースコードを配布する必要があります。 – Ravi

+0

分散プラットフォームでコードを配布する場合、モバイルエージェントの目的は何ですか?それ以外の方法はありますか? – Purushottam

関連する問題