Пример #1
0
        public static void threadDoWork()
        {
            TcpClient client   = null;
            bool      firstRun = true;

            CS422.WebRequest request = null;
            while (client != null || firstRun == true)
            {
                if (firstRun == true)
                {
                    firstRun = false;
                }

                client = cList.Take();
                if (client != null)
                {
                    request = WebServer.BuildRequest(client);
                    if (request != null)
                    {
                        // good request and client so just find a handler for it

//						for(int i = 0; i < services.Count; i++)
//						{
//							if(request.requestTarget.StartsWith(services[i].ServiceURI))
//							{
//								services[i].Handler(request);
//								break;
//							}
//						}
                        foreach (var x in services)
                        {
                            if (request.requestTarget.StartsWith(x.ServiceURI))
                            {
                                x.Handler(request);
                                break;
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("bad request, connection closed");
                        client.GetStream().Close();
                        client.Close();
                    }
                }
            }
        }