2011-05-12 4 views
0

나는 하나의 장치 마녀와 통신해야하는 요구 사항에서 UDP를 통해 SOAP 메시지를 보내는 응용 프로그램을 작성하고 있습니다. 이 장치와 통신하려면 .Net UDPClient 클래스를 사용하고 있습니다. UDPClient에서이 응답을 받고 있지만 Byte [] 배열로 받고 있어요. 어떻게 이것을 SoapMessage 객체로 변환 할 수 있습니까?C#에서 SOAPMessage로 문자열을 변환하는 방법

public void ReceiveCallback(IAsyncResult ar) 
    { 
     UdpClient udpClient = (UdpClient)((UdpState)(ar.AsyncState)).udpClient; 
     IPEndPoint ipEndpt = (IPEndPoint)((UdpState)(ar.AsyncState)).ipEndpt; 

     Byte[] receiveBytes = udpClient.EndReceive(ar, ref ipEndpt); 
     string receiveString = Encoding.ASCII.GetString(receiveBytes); 
        //Here receiveString I want to convert to SoapMessage 
     BeginReceive(); 
    } 

답변

0

WCF를 사용하여 클라이언트를 생성하고 클라이언트와의 통신을 처리하는 자체 채널을 구현하는 것이 좋습니다. 코드를 연결할 수 있어야합니다. Ofcourse 대부분의 소켓 통신은 WCF에 의해 이미 완료되었으므로 WCF를 사용할 때 처음에는 코드를 필요로하지 않습니다.

은 다음을 참조하십시오

http://msdn.microsoft.com/en-us/library/ms789050.aspx

0

당신이 당신의 클라이언트에 사용할 수있는 WCF에 대한이 MSDN article shows how to build a UDP transport based binding. 서비스에 대한 WSDL에 액세스 할 수 있다고 가정하면이 UDP 바인딩을 만들고 구성하는 것이 모든 직렬화/직렬화를 처리 할 것이므로 유용합니다. 기사 코드는 WCF/WF samples for .NET 4의 일부로 제공되므로 샘플을 다운로드하여 설치하면됩니다.

WSDL에 액세스 할 수없는 경우 샘플 코드를 살짝 보면서 UdpClient 항목을 처리하는 방법을 확인할 수 있습니다.

관련 문제