用于将XML发送到套接字的格式/字节

时间:2012-10-15 19:09:53

标签: c# xml sockets

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

         <GetServerTime UpTimeAtRequest="1919"/>

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

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

我很乐意使用WebClient或C#中的内容发送它。

感谢。

2 个答案:

答案 0 :(得分: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...
    }
}

答案 1 :(得分: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头。