0

我想将两行不同的 XML 发送到一个套接字,如下所示:

         <GetServerTime UpTimeAtRequest="1919"/>

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

我正在使用 Hercules 来测试它,但它不会让我以那种格式发送它。我应该如何对上面的 XML 进行定界或格式化,以便在连接到适当的 IP 地址和端口后使用 Hercules 将其直接发送到套接字?

我也很乐意使用 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);
}

我只担心您的 xml 无效,因为它有两个根节点并且没有 xml 标头。

于 2012-10-15T19:16:04.607 回答