C#에서는 UdpClient.Send() 메서드를 사용하기 위해 보내는 바이트 수를 매개 변수 중 하나로 제공해야합니다.C# UdpClient.Send() 데이터 그램의 바이트 수 계산
데이터 그램을 보내기 전에 데이터 그램의 바이트 수는 어떻게 계산합니까?
C#에서는 UdpClient.Send() 메서드를 사용하기 위해 보내는 바이트 수를 매개 변수 중 하나로 제공해야합니다.C# UdpClient.Send() 데이터 그램의 바이트 수 계산
데이터 그램을 보내기 전에 데이터 그램의 바이트 수는 어떻게 계산합니까?
UdpClient.Send()는 정수 배열 및 IPEndPoint 바이트 배열 (Byte [])을 전달합니다.
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());
}
을 아마 여기 혼란은 당신이 당신이 생각한다는 것입니다 : 당신이 전체 바이트 배열을 전송하는 경우 다음과 같이 아무것도 아무것도 적은, 당신의 데이터 그램의 페이로드로, 당신은 단지 배열의 길이 속성을 사용할 수 없습니다 와이어를 통해 전송 될 비트 수를 계산 하시겠습니까? 실제로 필요한 것은 페이로드 (이 데이터 그램에서 실제로 보내려는 제공된 바이트 배열의 일부)의 크기뿐입니다. 도서관에서 나머지를 처리 할 것입니다.
예제 및 정보 here.
이 UDP 클라이언트에 어떤 언어를 사용하고 있는지 확실하지 않습니다. C++에서 sizeof 연산자는 바이트 수를 제공합니다. 다른 접근법은 strlen() 또는 유니 코드 변형 &에 데이터 유형 크기를 곱하는 것입니다.
죄송합니다 .. 저는 C# – Avik