# HG changeset patch # User riono # Date 1605797549 -32400 # Node ID e4b46d4ef79c8faeebce705a0e6e3bdab5c84a47 # Parent 9129c437b1a3817bf231db7c5f8f5f61a1599633 connection.cs fin diff -r 9129c437b1a3 -r e4b46d4ef79c daemon/Connection.cs --- a/daemon/Connection.cs Thu Nov 19 16:46:00 2020 +0900 +++ b/daemon/Connection.cs Thu Nov 19 23:52:29 2020 +0900 @@ -34,16 +34,28 @@ ((IPEndPoint) socket.RemoteEndPoint).Port.ToString()); } + /// + /// socketを閉じる + /// public void Close() { + socket.Shutdown(SocketShutdown.Both); socket.Close(); } + /// + /// commandの実装に従ってbyte配列に変換し接続先に書き込む + /// + /// public void Write(Command cmd) { - MemoryStream stream = cmd.Convert(); + byte[] stream = cmd.Convert(); - // while (stream.) { - // - // } + try { + while (stream.Length > 0) { + socket.Send(stream); + } + } catch (Exception e) { + Console.WriteLine(e.StackTrace); + } } } } \ No newline at end of file diff -r 9129c437b1a3 -r e4b46d4ef79c datagear/command/Command.cs --- a/datagear/command/Command.cs Thu Nov 19 16:46:00 2020 +0900 +++ b/datagear/command/Command.cs Thu Nov 19 23:52:29 2020 +0900 @@ -33,7 +33,7 @@ public abstract void Execute(); // for remote - public abstract MemoryStream Convert(); + public abstract byte[] Convert(); // public RemoteMassage CreateRemoteMessage() { // return new RemoteMassage(type.id);