我正在使用C#套接字并使用XMLSerializer
来发送和接收数据。 XML数据通过使用TCP/IP协议的网络连接从服务器发送到客户端。 XML.Serializer.Serialize(stream)
将XML数据序列化并通过套接字连接发送,但是当我想使用XMLSerializer.Deserialize(stream)
进行读取时。发送的数据返回一个xml解析错误。使用XMLSerializer进行序列化和反序列化的问题
这里是我如何序列化:
Memory Stream ms = new MemoryStream();
FrameClass frame= new FrameClass();
frame.string1 = "hello";
frame.string2 = "world";
XmlSerializer xmlSerializer = new XmlSerializer(frame.GetType());
xmlSerializer.Serialize(ms, frame);
socket.Send(ms.GetBuffer(), (int)ms.Length, SocketFlags.None);
反序列化:
FrameClass frame;
XmlSerializer xml = new XmlSerializer(typeof(FrameClass));
frame= (FrameClass)xml.Deserialize(new MemoryStream(sockCom.SocketBuffer));
listbox1.Items.Add(frame.string1);
listbox2.Items.Add(frame.string2);
我认为这是与发送之后的另一个数据之一。 任何人都可以教我如何正确地做到这一点?
我会在文本编辑框中使用代码示例格式化程序。突出显示您的代码并单击编辑器工具栏中的“{}”选项。 – Wesley 2011-01-20 15:57:11