0

私は、UDP 経由で SOAP メッセージを送信する 1 つのデバイスと通信する必要があるアプリケーションを作成しています。このデバイスと通信するために .Net UDPClient クラスを使用しています。UDPClient で this からの返信を受信して​​いますが、それを Byte[] 配列として取得しています。これを 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();
    }
4

2 に答える 2

0

このMSDNの記事は、クライアントに使用できるWCFのUDPトランスポートベースのバインディングを構築する方法を示しています。サービスのWSDLにアクセスできると仮定すると、このUDPバインディングを構築および構成することは、すべてのシリアル化/逆シリアル化を処理するため、価値があります。記事コードは、.NET4のWCF/ WFサンプルの一部として利用できるため、サンプルをダウンロードしてインストールするだけで開始できます。

WSDLにアクセスできない場合は、少なくともサンプルコードを調べて、UdpClientのものを処理する方法を確認できます。

于 2011-05-12T18:10:20.297 に答える
0

WCF を使用してクライアントを生成し、独自のチャネルを実装してクライアントとの通信を処理することをお勧めします。コードを接続できるはずです。もちろん、ほとんどのソケット通信は WCF によって既に行われているため、WCF を使用する場合、そもそもコードは必要ありません。

見る:

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

于 2011-05-12T15:20:15.537 に答える