C#でUdpClientを使い、0.5秒毎に300KB程のデータを送信するプログラムを作っているのですが、UDPではTCPと違い自動で分割?をしてくれないみたいです。
一回で送ろうとするとバッファが足りないとerrorが出ました。
分割して送信する方法を調べてみたのですが、このように1回で送信しているSampleしか出てきませんでした。
試しにこのようなコードを書いてみましたが効果がありませんでした。
C#
1udp.Client.SendBufferSize = 300000;
Udpでの分割送信方法を教えてください
<追記>
C#
1 int size = sendBytes.Length; 2 int size2 = 0; 3 byte[] data = new byte[16000]; 4 while (size > 16000) 5 { 6 Array.Copy(sendBytes, size2, data, 0, 8000); 7 8 udp.Send(data, data.Length); 9 10 size2 += 8001; 11 size -= 8000; 12 13 } 14 15 Array.Copy(sendBytes, size2, data, 0, sendBytes.Length); 16 17 udp.Send(data, data.Length);
このような感じで送信コードを書いてみたのですが、分割して送られてくるByte配列を連結させる方法がわからないです。
回答3件
あなたの回答
tips
プレビュー