Esempio n. 1
0
            private async Task RedirectOut(EncodeServer server, Stream stream)
            {
                try
                {
                    byte[] buffer = new byte[1024];
                    while (true)
                    {
                        var readBytes = await stream.ReadAsync(buffer, 0, buffer.Length);

                        if (readBytes == 0)
                        {
                            // 終了
                            return;
                        }
                        if (logWriter != null)
                        {
                            logWriter.Write(buffer, 0, readBytes);
                        }
                        consoleText.AddBytes(buffer, 0, readBytes);
                        logText.AddBytes(buffer, 0, readBytes);

                        byte[] newbuf = new byte[readBytes];
                        Array.Copy(buffer, newbuf, readBytes);
                        await server.client.OnConsoleUpdate(new ConsoleUpdate()
                        {
                            index = id, data = newbuf
                        });
                    }
                }
                catch (Exception e)
                {
                    Debug.Print("RedirectOut exception " + e.Message);
                }
            }
Esempio n. 2
0
        private Task WriteTextBytes(byte[] buffer, int offset, int length)
        {
            consoleText.AddBytes(buffer, offset, length);

            byte[] newbuf = new byte[length];
            Array.Copy(buffer, newbuf, length);
            return(server.Client.OnConsoleUpdate(new ConsoleUpdate()
            {
                index = -1, data = newbuf
            }));
        }