Task <JsonResult> TaskSetup(string ip, ushort rate, ushort gain)
        {
            return(Task.Run(() =>
            {
                bool received = false;
                string receiveip = "";
                MainEntry.SendC(ip, rate, gain, (obj) =>
                {
                    receiveip = (string)obj;

                    if (receiveip == "error")
                    {
                    }
                    else
                    {
                        received = true;
                        ConnectedTerminalState t = _ConnectedTerminals.GetStringKey(receiveip);
                        if (t != null)
                        {
                            t.mRate = rate;
                            t.mGain = gain;
                        }
                    }
                });


                int timeout = 5000;
                while (!received)
                {
                    Thread.Sleep(1000);
                    timeout -= 1000;
                    if (received)
                    {
                        return Json(
                            new { ips = _ConnectedTerminals });
                    }
                    if (timeout < 0)
                    {
                        break;
                    }
                }

                return Json(new { ips = _ConnectedTerminals });
            }));
        }
        Task <JsonResult> TaskStartStop(string ip, bool start)
        {
            return(Task.Run(() =>
            {
                bool received = false;
                string receiveip = "";
                MainEntry.SendS(ip, start, (obj) =>
                {
                    receiveip = (string)obj; if (receiveip == "error")
                    {
                    }
                    else
                    {
                        received = true;

                        ConnectedTerminalState t = _ConnectedTerminals.GetStringKey(receiveip);
                        if (t != null)
                        {
                            t.mIsStart = start;
                        }
                    }
                });


                int timeout = 5000;
                while (!received)
                {
                    Thread.Sleep(1000);
                    timeout -= 1000;
                    if (received)
                    {
                        return Json(
                            new { ips = _ConnectedTerminals });
                    }
                    if (timeout < 0)
                    {
                        break;
                    }
                }

                return Json(new { ips = _ConnectedTerminals });
            }));
        }