0

私はc#でアプリケーションを作成しています。そのアプリケーションでは、非同期ソケット通信を使用しています。コードを次のように記述しました

byte[] byteData = new byte[1024];
clientSocket.BeginReceiveFrom(byteData, 0, byteData.Length, SocketFlags.None, ref m_EpReceive, new AsyncCallback(OnRceiveCallBack), objReceiverSocketState);

ここでbyteData、可変サイズを取得しています。これは、700 バイトの場合もあれば、276 バイトの場合もあります (固定されていません)。ここでbyteData は 1024 サイズを宣言しています。私の質問は、byteData 受信したデータの正確な量のサイズを宣言できる方法はありますか? (つまり、500バイトを取得していると仮定すると、サイズはbyteData 500になるはずです。)サイズbyteDataを1024に宣言した場合、合計1024バイトを取得するのを待つか、それともいくつかのバイトを取得した場合に呼び出すかという質問もありますメソッドOnRceiveCallBack?私を助けてください。前もって感謝します。

4

1 に答える 1