public IEnumerable <DeviceStatus> GetDevices() { var reqSock = new DealerSocket(">inproc://queryRouter"); reqSock.SendReady += (o, e) => { e.Socket.SendFrame("SendStatus"); }; reqSock.Poll(); string msg; var results = new List <DeviceStatus>(); while (reqSock.TryReceiveFrameString(TimeSpan.FromSeconds(1), out msg)) { results.Add(JsonConvert.DeserializeObject <DeviceStatus>(msg)); } return(results); }