public string SendResponse(HttpListenerRequest request) { // string physicalPath = GetPath() + request.RawUrl; if (request.Url.AbsolutePath == "/api/command/") { // Pull mode var data = new StreamReader(request.InputStream).ReadToEnd(); XmlItem ret = Receive(data); return(ret.ToString()); } else if (request.Url.AbsolutePath == "/pull/receive/") { lock (m_pullItems) { if (m_pullItems.Count == 0) { return(""); } XmlItem data = m_pullItems[0]; m_pullItems.RemoveAt(0); return(data.ToString()); } } return(string.Format("<HTML><BODY>Unexpected. {0}</BODY></HTML>", DateTime.Now)); }
private void OnCommandEvent(XmlItem data) { lock (Clients) { CheckStillConnected(); foreach (StateObject so in Clients) { string x = data.ToString(); Send(so.workSocket, x + "\n"); } } }