Beispiel #1
0
        /**
         * Start the server.
         */
        public void Start()
        {
            this.server.Start();
            log.Trace("Server started at port " + PolicyPort.ToString());
            this.listening = true;
            AcceptProcessorDelegate processor = new AcceptProcessorDelegate(this.AcceptProcessor);

            processor.BeginInvoke(this, null, null);
        }
Beispiel #2
0
        /**
         * Process the client connection.
         */
        private void ProcessClient(IAsyncResult ar)
        {
            System.Net.Sockets.Socket client = null;
            try
            {
                // Get socket
                client = this.server.EndAcceptSocket(ar);
                client.ReceiveTimeout = WaitTimeout; // Set timeouts
                client.SendTimeout    = WaitTimeout;
                log.Debug("New client connected.");

                // Receive data
                byte[] buffer = new byte[MaxPktSize];
                if (client.Receive(buffer, MaxPktSize, System.Net.Sockets.SocketFlags.None) > 0)
                {
                    // Get string from buffer
                    string data = Encoding.ASCII.GetString(buffer);
                    data = data.Substring(0, data.IndexOf('\0'));
                    log.Debug("<-- " + data);

                    if (data == PolicyRequest) // If data is policy request
                    {                          // we send the policy fileName
                        log.Debug("Sending policy request...");
                        client.SendFile(PolicyFile);
                    }
                }

                // Start listenning
                this.server.BeginAcceptTcpClient(this.DoAcceptTcpClientCallback, this);
            }
            catch (System.Exception e)
            {
                log.Error("Error processing client : " + e.Message);
            }

            if (client != null)
            {
                client.Close(); // close socket
            }

            if (this.listening)
            {
                AcceptProcessorDelegate processor = new AcceptProcessorDelegate(this.AcceptProcessor);
                processor.BeginInvoke(this, null, null);
            }
        }
Beispiel #3
0
        /**
         * Process the client connection.
         */
        private void ProcessClient(IAsyncResult ar)
        {
            System.Net.Sockets.Socket client = null;
            try
            {
                // Get socket
                client = this.server.EndAcceptSocket(ar);
                client.ReceiveTimeout = WaitTimeout; // Set timeouts
                client.SendTimeout = WaitTimeout;
                log.Debug("New client connected.");

                // Receive data
                byte[] buffer = new byte[MaxPktSize];
                if (client.Receive(buffer, MaxPktSize, System.Net.Sockets.SocketFlags.None) > 0)
                {
                    // Get string from buffer
                    string data = Encoding.ASCII.GetString(buffer);
                    data = data.Substring(0, data.IndexOf('\0'));
                    log.Debug("<-- " + data);

                    if (data == PolicyRequest) // If data is policy request
                    {                           // we send the policy fileName
                        log.Debug("Sending policy request...");
                        client.SendFile(PolicyFile);
                    }
                }

                // Start listenning
                this.server.BeginAcceptTcpClient(this.DoAcceptTcpClientCallback, this);
            }
            catch (System.Exception e)
            {
                log.Error("Error processing client : " + e.Message);
            }

            if (client != null)
            {
                client.Close(); // close socket
            }

            if (this.listening)
            {
                AcceptProcessorDelegate processor = new AcceptProcessorDelegate(this.AcceptProcessor);
                processor.BeginInvoke(this, null, null);
            }
        }
Beispiel #4
0
 /**
  * Start the server.
  */
 public void Start()
 {
     this.server.Start();
     log.Trace("Server started at port " + PolicyPort.ToString());
     this.listening = true;
     AcceptProcessorDelegate processor = new AcceptProcessorDelegate(this.AcceptProcessor);
     processor.BeginInvoke(this, null, null);
 }