私は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);
私はそれが右の別の後にデータ1を送信することとは何かを持っていると思います。 誰でも私にこのことを正しく行う方法を教えてもらえますか?
テキストエディットボックスでコードサンプルフォーマッタを使用します。コードをハイライト表示し、エディタツールバーの "{}"オプションをクリックします。 – Wesley