ソケット偉大なり

.NET(Win32)ならWM_COPYDATAを使うことで比較的簡単にアプリケーション間通信が可能だったが、Javaではさすがに他の仮想マシン下のウインドウに同メッセージを放り込む事もできないので、同様のことをソケットの実装で組んだ。

実際にソケットで組んでみると、無理にNIOとセレクタを使おうとしなければ(つまりマルスレッド&ブロッキング)WM_COPYDATAをラップしたクラスなんかよりもはるかに楽に(シンプル)に組める。

デメリットといえば一組の送受信にシステムリソースであるTCPポートを食うだけなので(状況によってはそれが最大のデメリットなのだが)、いろいろなプラットホームのことを考えると、やはりこれが一番良い方法なのだろうな。