0

次のように、2つの異なるXML行をソケットに送信します。

         <GetServerTime UpTimeAtRequest="1919"/>

         <Subscribe FrontId="priceFeed" URI="ffo:/price/productCode=VP-4-6-"/>

これをテストするためにHerculesを使用していますが、その形式で送信することはできません。適切なIPアドレスとポートに接続した後、Herculesを使用してソケットに直接送信できるように、上記のXMLをどのように区切るかフォーマットする必要がありますか?

これは、WebClientなどを使用してC#でも送信できれば幸いです。

ありがとう。

4

2 に答える 2

2

Herculesが何であるかはわかりませんが、クライアントを介して任意のデータを送信するのは簡単です。

using (var client = new TcpClient())
{
    client.Connect(host, porg);
    using (var stream = client.GetStream())
    {
        // Or some other encoding, of course...
        byte[] data = Encoding.UTF8.GetBytes(xmlString);

        stream.Write(data, 0, data.Length);

        // Whatever else you want to do...
    }
}
于 2012-10-15T19:47:55.943 に答える
0

WebClientは非常に簡単に使用できるため(ソケットがHTTPプロトコルを使用していると仮定)、UploadStringを使用すると次のようになります。

Uri uri = new Uri(@"http://www.mywebsite.com/someurl");
string myXml = "<insert valid xml here> /"

using (WebClient wc = new WebClient()
{
  wc.UploadString(uri, myXml);
}

2つのルートノードがあり、xmlヘッダーがないため、xmlが無効であることが心配です。

于 2012-10-15T19:16:04.607 に答える