私はすべての通信にソケットを使用する単純なクライアント/サーバーアプリケーションを開発しています。通信はパケットベースであり、パケットのコンセプトはクラスのセットとソケットストリーム用の/ObjectOutputStream
ラッパーを使用して実装されます。ObjectInputStream/ObjectOutputStreamを使用してJavaのネットワーク "パケット"を実装する場合の長所と短所はありますか?
完全なテキストベースのプロトコル(IRCなど)と比較してこのアプローチに不利な点があるかどうか、私が明示的にバイトを処理するところの「非常にバイナリな」ものがあるかどうかわかりません。
ここでトラフィックの問題(「qwerty」と「qwerty」+ 1KBのメタデータ)を無視し、信頼性と保守性のみを考慮しましょう。
あなたはどう思いますか?
+1:ほとんどのバイナリ形式はテキスト形式よりも小さくなりますが、テキストのシリアル化はJavaのシリアル化よりも小さくなります(後でかなり非効率的です)。 –