来自Socket c#的XmlSerializer.Deserialize()

时间:2013-12-16 17:10:53

标签: c# sockets serialization

以下是我的应用程序中的一段代码:

using (NetworkStream ns = new NetworkStream(newClientSock))
{
   XmlSerializer xs = new XmlSerializer(typeof(RSAParameters));
   xs.Serialize(ns, _publicKey);

   RSAParameters clientPubKey = (RSAParameters)xs.Deserialize(ns);
}

我想要做的是两个客户端套接字之间的“握手”形式。我不是很熟悉序列化,所以我的问题是,XmlSerializer(xs)对象是否会等待发送某些内容然后绝望,或者需要预期的数据应该已经在该流中?

提前致谢,

1 个答案:

答案 0 :(得分:0)

XmlSerializer将在流到达套接字末尾时读取流(即将等待)。没有必要缓冲它。但是,常见的错误不是在发送端清除输出流(使另一端的解串器永远等待)。您应该确保在调用Serialize()后将其刷新。