UDPパケットの1つのデータグラムに2つの文字列を送信することが可能かどうかを知りたいです。私の文字列1のテキストがunixで、文字列2のテキストがlinuxであるとします。文字列をマージしたくないので、転送中に分離したいです。
以下は、サーバー Unix から正常に読み取る作業コードです。
String name1 = "unix";
String name2 = "linux";
toSend = name1.getBytes();
DatagramPacket packSend = new DatagramPacket (toSend, toSend.length, ipConn, 9876);
connection.send(packSend);
2つの別々のデータグラムパケットを生成し、データを別々に送信するのは賢明ですか?
答え1
一般的な形式(xml、json、uuencode、...)を使用するか、文字列に表示されない区切り文字(改行文字、...)を使用して何らかの方法でデータをシリアル化し、その文字列を単純に分割する必要があります。
別途送信されると、パケットの1つが紛失したり、別の順序で受信されることがありますのでご注意ください。したがって、このデータが関連している場合は、単一のパケットに送信するのが妥当です。
答え2
分離には2つのパケットが必要ですが、より効率的な方法は単一のパケット内で送信してから受信機でパケットを分割することです。