Здравствуйте, я пытаюсь написать веб-сервер на 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);
}
Заранее спасибо, Алекс