/// <summary> /// This method Accepts new connections and dispatches them when appropriate. /// </summary> public void StartListen() { while (true && _myListener != null) { //Accept a new connection var responder = new XmlRpcResponder(this, _myListener.AcceptTcpClient()); ThreadPool.QueueUserWorkItem(_wc, responder); } }
///<summary> ///This method Accepts new connections and dispatches them when appropriate. ///</summary> private void StartListen() { while (_myListener != null) { //Accept a new connection TcpClient _client = _myListener.AcceptTcpClient(); XmlRpcResponder responder = new XmlRpcResponder(this, _client); ThreadPool.QueueUserWorkItem(waitCallback, responder); } }
/// <summary>The method the thread pool invokes when a thread is available to handle an HTTP request.</summary> /// <param name="responder">TcpClient from the socket accept.</param> public void WaitCallback(object responder) { XmlRpcResponder resp = (XmlRpcResponder)responder; if (resp.HttpReq.HttpMethod == "POST") { try { resp.Respond(); } catch (Exception e) { Logger.WriteEntry("Failed on post: " + e, LogLevel.Error); } } else { Logger.WriteEntry("Only POST methods are supported: " + resp.HttpReq.HttpMethod + " ignored", LogLevel.Error); } resp.Close(); }
///<summary> ///This method Accepts new connections and dispatches them when appropriate. ///</summary> public void StartListen() { while(true && _myListener != null) { //Accept a new connection XmlRpcResponder responder = new XmlRpcResponder(this, _myListener.AcceptTcpClient()); ThreadPool.QueueUserWorkItem(_wc,responder); } }