Лабораторная работа Многопользовательские приложения на

advertisement
Лабораторная работа
Многопользовательские приложения на C#
Реализуйте простейший многопоточный перенаправляющий веб-сервер (с GUI на C#). Он
должен работать так же, как и прокси-сервер, только без кэширования веб-страниц. Если в опциях
браузера указать «Использовать прокси-сервер …», браузер будет отправлять все HTTP-запросы
через ваш перенаправляющий веб-сервер. Этот перенаправляющий веб-сервер должен
проанализировать запрос (нужен заголовок Host), подключиться к соответствующему вебсерверу, отправить тот же самый запрос, а затем полученный результат передать назад клиенту.
Так как веб-страничка приходит от сервера по частям, то получать ее нужно в цикле, пока не
придет столько байт, сколько указано в заголовке Content-Length.
Сделайте так, чтобы перенаправляющий веб-сервер мог одновременно обслуживать до 8
клиентов. Чтобы протестировать многопоточность работы сервера, отправляйте веб-странички
браузерам по частям с небольшими задержками (не быстрее 1 Кб в сек).
В TexBox сервера должны отображаться IP-адреса и номера портов подключенных в данный
момент клиентов и имена веб-серверов, к которым они послали запросы.
Подсказка: сервер в отдельном потоке должен принимать входящие запросы на
подключение клиентов и создавать для каждого клиента новый поток для поиска нужной вебстранички, и отправки результатов назад клиенту. При этом сервер должен следить за тем, чтобы
количество одновременно подключенных клиентов не оказалось больше 8.
Download