C#では、UdpClient.Send()メソッドを使用するために、送信するバイト数をパラメータの1つとして指定する必要があります。C#のUdpClient.Send()データグラムのバイト数の計算
送信する前にデータグラムのバイト数を計算するにはどうすればよいですか?
C#では、UdpClient.Send()メソッドを使用するために、送信するバイト数をパラメータの1つとして指定する必要があります。C#のUdpClient.Send()データグラムのバイト数の計算
送信する前にデータグラムのバイト数を計算するにはどうすればよいですか?
UdpClient.Send()には、整数のサイズであるバイトの配列(Byte [])、およびIPEndPointが渡されます。
UdpClient udpClient = new UdpClient();
IPAddress ipAddress = Dns.Resolve("www.contoso.com").AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 11004);
Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there?");
try{
udpClient.Send(sendBytes, sendBytes.Length, ipEndPoint);
}
catch (Exception e){
Console.WriteLine(e.ToString());
}
をおそらくここに混乱はあなたがしなければならないと考えていることです:あなたは全体のバイト配列を送信する場合は、次のように、より多くの何も何も少なく、あなたのデータグラムのペイロードとして、あなただけの配列のLengthプロパティを使用することはできませんワイヤーを介して送信されるビット数を数えますか?実際に必要とされるのは、ペイロードのサイズ(このデータグラムで実際に送信したいバイト配列の一部)だけです。ライブラリは残りの作業を行います。
例とインフォメーションhere。
このUDPクライアントを実装するために使用している言語は不明です。 C++では、sizeof演算子はバイト数を提供します。他のアプローチは、strlen()またはそれらのユニコード変種&をデータ型のサイズで乗算することです。
am申し訳ありませんが私はC# – Avik