Example #1
0
        private EDMResponse DoEDMCommand(EDMRequest request)
        {
            EDMResponse response = new EDMResponse();

            TcpClient tcpClient;

            StreamReader sReader;
            StreamWriter sWriter;

            try
            {
                tcpClient = new TcpClient
                {
                    ReceiveTimeout = request.ReceiveTimeout,
                    SendTimeout    = request.SendTimeout
                };
                tcpClient.Connect(request.Host, request.Port);

                sReader = new StreamReader(tcpClient.GetStream(), Encoding.UTF8);
                sWriter = new StreamWriter(tcpClient.GetStream(), Encoding.UTF8);

                System.Threading.Thread.Sleep(100);
                sWriter.WriteLine(request.Request);
                sWriter.Flush();



                if (request.IsResponse)
                {
                    try
                    {
                        response.Response = sReader.ReadLine();
                    }
                    catch (IOException ex)
                    {
                        response.Error    = EDMError.ReadTimeOut;
                        response.ErrorStr = ex.Message;
                    }
                    //catch (OutOfMemoryException ex)
                    //{
                    //  response.ErrorStr = ex.Message;
                    //}

                    sWriter.Close();
                    tcpClient.Close();
                } //if (request.IsResponse)
            }
            catch (Exception ex)
            {
                response.Error    = EDMError.Other;
                response.ErrorStr = ex.Message;
            }

            return(response);
        }
Example #2
0
        //private EDMResult GetEDMInfo2(EDMCommand command)
        //{
        //  EDMResult result = new EDMResult();
        //  result.Request = @"{""id"":0,""jsonrpc"":""2.0"",""method"":""miner_getstat1""}";
        //  TcpClient _tcpclient;

        //  StreamReader _sReader;
        //  StreamWriter _sWriter;


        //  try
        //  {
        //    _tcpclient = new TcpClient();
        //    _tcpclient.ReceiveTimeout = 1000;
        //    _tcpclient.Connect(host, port);

        //    _sReader = new StreamReader(_tcpclient.GetStream(), Encoding.UTF8);
        //    _sWriter = new StreamWriter(_tcpclient.GetStream(), Encoding.UTF8);

        //    _sWriter.WriteLine(result.Request);
        //    _sWriter.Flush();

        //    result.ErrorStr = "";

        //    try
        //    {
        //      result.Response = _sReader.ReadLine();
        //      result.TimeOutError = false;
        //    }
        //    catch (IOException ex)
        //    {
        //      result.TimeOutError = true;
        //      result.ErrorStr = ex.Message;
        //    }
        //    //catch (OutOfMemoryException ex)
        //    //{
        //    //  result.ErrorStr = ex.Message;
        //    //}

        //    _sWriter.Close();
        //    _tcpclient.Close();
        //  }
        //  catch (Exception ex)
        //  {
        //    result.ErrorStr = ex.Message;
        //  }



        //  return result;
        //}



        private void BtnEDMGet_Click(object sender, EventArgs e)
        {
            SetAllowUnsafeHeaderParsing20();

            txtLog.Clear();
            EDMRequest request = new EDMRequest(tbxEDMAddress.Text, (int)nudEDMPort.Value, @"{""id"":0,""jsonrpc"":""2.0"",""method"":""miner_getstat1""}")
            {
                IsResponse = true
            };
            EDMResponse response = DoEDMCommand(request);

            //EDMResult edmr = GetEDMInfo2(tbxEDMAddress.Text, (int)nudEDMPort.Value);
            Wr(response.Response + "" + response.ErrorStr);

            if (response.Error == EDMError.None)
            {
                //string s = @"{ ""result"": [""9.3 - ETH"", ""21"", ""182724;51;0"", ""30502;30457;30297;30481;30479;30505"", ""0;0;0"", ""off;off;off;off;off;off"", ""53;71;57;67;61;72;55;70;59;71;61;70"", ""eth-eu1.nanopool.org:9999"", ""0;0;0;0""]}";

                EDMResult edmResult = new EDMResult(response.Response);
                Wr(JsonConvert.SerializeObject(edmResult.Data));
                Wr("Version: " + edmResult.Data.Version.ToString());
                Wr("RunningTime: " + edmResult.Data.RunningTime.ToString());
            }
        }