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 }); })); }