Mercurial > hg > Database > Christie-sharp
view datagear/command/PutCommand.cs @ 40:7276e3429c99
fix NetworkStream Error
author | riono <e165729@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 25 May 2021 03:02:38 +0900 |
parents | 9217d14cc220 |
children | 0cd765be9693 |
line wrap: on
line source
using System; using System.IO; using Christie_net.datagear.dg; using Christie_net.Test.Example.RemoteTake; using MessagePack; namespace Christie_net.datagear.command { public class PutCommand : Command{ public PutCommand(CommandBuilder cb) : base(cb) { this.clazz = dg.GetClazz(); } public override void Execute() { } // commandとdata, dataSizeをMemoryStreamに変換する public override byte[] Convert() { MemoryStream stream = new MemoryStream(); try { // byte[] command = MessagePackSerializer.Serialize(CreateRemoteMessage()); // byte[] data = new MessagePackDataGear<object>(dg.GetData()).GetMessagePack(); // byte[] dataSize = MessagePackSerializer.Serialize(data.Length); // // stream.Write(command); // stream.Write(dataSize); // stream.Write(data); byte[] data = new MessagePackDataGear<object>(dg.GetData()).GetMessagePack(); byte[] command = MessagePackSerializer.Serialize(CreateRemoteMessage(data)); // Debug //var ms = MessagePackSerializer.Deserialize<RemoteMessage>(command); //Console.WriteLine("***type:" + ms.type + " key:" + ms.key + " fromDgm:" + ms.fromDmgName + " class:" + ms.clazz +" data: null"); // RTCommand cmd = (RTCommand) MessagePackSerializer.Deserialize<object>(data); // Console.WriteLine("data:" + cmd.line); stream.Write(command); stream.Position = 0; } catch (IOException e) { Console.WriteLine(e.StackTrace); } return stream.ToArray(); } } }