2009-04-14 4 views

답변

4

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.

0

이 UDP 클라이언트에 어떤 언어를 사용하고 있는지 확실하지 않습니다. C++에서 sizeof 연산자는 바이트 수를 제공합니다. 다른 접근법은 strlen() 또는 유니 코드 변형 &에 데이터 유형 크기를 곱하는 것입니다.

+0

죄송합니다 .. 저는 C# – Avik