こんにちは。結局Javaでの開発に変更することになりました。Javaでの開発は(非常に記法が冗長になる点を除き)着々と進み、遂にノード間の接続ができるようになりました。ここまで来るのに非常に時間がかかりましたが、主たる原因は、
- Stringの比較にString.equalsではなく==を用いていた
- 諸変数の初期状態を留意せずに実装した
ですね。Javaは不慣れだったので、と言い訳しておきます。
さて実装の進捗状況はと言いますと、自動的なノード間の接続の調整は仕様の内なので当然ですが、通知なく離脱したノードの処理を実装しました。処理とは言っても接続先を更新するだけなので大したことではありません。
今後は、通知を伴う離脱を実装しようと思います。この時点である程度のデータ送受信が可能になる予定です。OSI参照モデルの3~5層あたりまでが完成したことになります。
その後で、アプリケーションを担当するクラスを別途作成することになると思います。