public override void OnRun(TuringSocket socket, TuringAgentArgs e)
        {
            // Create client
            using (TcpClient ret = new TcpClient())
            {
                // Try connect to server
                IAsyncResult result  = ret.BeginConnect(ConnectTo.Address, ConnectTo.Port, null, null);
                bool         success = result.AsyncWaitHandle.WaitOne(ConnectTimeout);
                ret.EndConnect(result);

                if (!success)
                {
                    return;
                }

                // Flag as connected
                ConnectedOk = true;

                // Fuzzer stream
                using (TuringStream stream = new TuringStream(socket))
                    try
                    {
                        //Try send all we can
                        using (Stream sr = ret.GetStream())
                        {
                            stream.CopyTo(sr);
                            sr.Flush();
                        }
                    }
                    catch //(Exception e)
                    {
                    }
            }
        }
        public void OnRun(TuringSocket socket, TuringAgentArgs e)
        {
            var ret = (Core.Detectors.Multi.OutputErrorProcessDetector)socket[ProcessPid];

            // Fuzzer stream
            using (var stream = new TuringStream(socket))
                try
                {
                    var data  = new byte[4096];
                    var cdata = new char[data.Length];

                    // Try send all we can

                    while (true)
                    {
                        var r = stream.Read(data, 0, data.Length);

                        if (r > 0)
                        {
                            for (var x = 0; x < r; x++)
                            {
                                cdata[x] = (char)data[x];
                            }

                            foreach (var process in ret.Process)
                            {
                                process.StandardInput.Write(cdata, 0, cdata.Length);
                                process.StandardInput.Flush();
                            }
                        }
                        else
                        {
                            break;
                        }
                    }
                }
                catch //(Exception e)
                {
                }
        }