これはばかげた質問かもしれませんが、ここではUDPに比較的慣れていないので、次のようになります... 2つの別々のバイト配列があり、受信側が1つの大きな配列として取得する必要がある場合。
byte[] Array1 = {1,1,1}
byte[] Array2 = {2,2,2}
次のように、バッファを作成して各配列をコピーしてから、そのバッファを送信する必要をなくすことができますか?
byte[] Buffer= new byte[Array1.Length + Array2.Length];
Buffer.BlockCopy(Array1, 0, Buffer, 0, Array1.Length);
Buffer.BlockCopy(Array2, 0, Buffer, Array1.Length, Array2.Length);
udpClient.Send(Buffer, Buffer.Length);
2つが大きく、データレートが高い場合、コピーは多くのシステムリソースを消費するため、UDPフラグメンテーションを開始していることをudpClientに伝えて、次のようにすることができます。
udpClient.ImStartingOneBigDatagram();
udpClient.Send(Array1, Array1.Length);
udpClient.Send(Array2, Array2.Length);
udpClient.ThatsAllFolks();
そして、受信側が次のようになることを確認してください。
byte[] recv = {1,1,1,2,2,2}
私はこれにC#を使用していますが、使用する必要はありUdpClient
ません。