Здравствуйте, я пытаюсь написать веб-сервер в C#.
Сервер будет динамически создавать веб-сайт на основе определенных шаблонов, которые я определил.
Проблема заключается в том, что вы можете получить доступ к веб-странице только при вводе пароля.
Итак, я решил сделать браузер открытым, поддерживая соединение, передавая каждый запрос через него.
Тогда у меня есть контроль над зарегистрированными клиентами и не вошедшими в систему клиентами. Теперь проблема заключается в том, что Firefox и Google Chrome, когда дело доходит до запроса изображений на веб-сайте, они просто открывают другое соединение из того же ip, но другого порта.
Мой веб-сервер думает, что его другой клиент и отправляет http-адрес входа вместо запрошенного изображения.
Таким образом, каждый раз, когда сайт загружается, только 1 - 4 изображения фактически отправляются.веб-сервер, заставляющий браузер открывать только одно параллельное соединение
Теперь мой вопрос: есть ли способ заставить браузер НЕ, чтобы открыть параллельные соединения?
Или, если не возможно, как мне решить проблему?
Для тех, кто хотел бы видеть некоторый код здесь является то, что ядро сервера выглядит, просто, чтобы понять мою проблему:
void ThreadStart()
{
while (true)
{
RunClient(listener.AcceptTcpClient());
}
}
void RunClient(TcpClient c)
{
Thread tht = new Thread(new ParameterizedThreadStart(RunIt));
tht.IsBackground = true;
tht.Start(c);//The login page is getting sent...
thtt.Add(tht);
}
Спасибо заранее, Алекс
1) Пожалуйста, не префиксайте свои заголовки такими строками, как «C#». Вот у нас есть теги здесь [SO]. 2) Вам лучше прочитать [faq] и узнать, как делать форматирование здесь, а не использовать HTML. –
Не могли бы вы просто дать мне конструктивный намек вместо того, чтобы критиковать мое форматирование? – alex
Почему вы пытаетесь изобрести колесо? Даже если вы решили использовать ASP.NET, это не правильный выбор для вас, по крайней мере, использовать аутентификацию с помощью файлов cookie или идентификатора сеанса. Есть причина, по которой все это делают. – svick