567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
|
|
1 | |
HTTP прокси-сервер win32. Light-Proxy1.0.alpha11.04.2013, 18:22. Показов 1716. Ответов 9
Метки нет (Все метки)
Реализую прокси-сервер. Начал писать этот проект для себя с целью попрактиковаться в написании клиент-серверных приложений. Прокси-сервер как нельзя лучше подходит для этих целей. Сервер написан только с использованием C, WinApi и стандартных библиотек. Интерфейс в данный момент находится в зачаточном состоянии, цель сейчас - это протестировать работу в разных ОС и очень замечательно было бы - под нагрузкой, хотя бы клиентов 10, если у кого-то есть такая возможность, буду очень благодарен. У меня, к сожалению, сейчас такой возможности нет При написании особое внимание уделялось минимальному использованию системных ресурсов. На данный момент есть возможность разрешать/запрещать доступ к серверу с определенных IP, разрешать/запрещать доступ к различным хостам всем клиентам. Если будет видно, что проект не интересен, придется его закрыть, так как основная цель достигнута, а развивать никому не нужное приложение смысла не вижу.
Процесс первичной настройки: 1. Зайти в Configure, Прописать IP и порт, на которых будет слушать сервер 2. Зайти во вкладку Allowed IP и прописать клиентов, у которых будет доступ к серверу (по умолчанию доступа нет ни у кого) 3. Нажать кнопку Restart ссылка на файл: lproxy-1.0a.zip
1
|
11.04.2013, 18:22 | |
Ответы с готовыми решениями:
9
Кэширующий HTTP прокси-сервер HTTP прокси сервер с поддержкой SSL Как запустить и настроить php-4.3.5-Win32 а также apache_2.0.49-win32-x86-no_ssl и mysql-5.0.0a-alpha-win ? Приложение, которое работает как прокси-сервер http |
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
|
|
11.04.2013, 22:21 [ТС] | 2 |
В целом я горжусь этим движком(не интерфейсом), много над ним работал и хотелось бы получить какие-то отзывы. В среднем мой сервер использует 1 Мб оперативной памяти на собственные нужды, каждый поток не может захватить более 10 Кб памяти, то есть теоретически при 1000 клиентах будет использовано не более 10 Мб памяти в пике нагрузки. В том, что ядро сервера не подведет я уверен практически на 100%, но вот проверить бы еще на практике. Так что если кто-то тестировал, пожалуйста пишите, давайте обратную связь, для меня это важно.
0
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
11.04.2013, 23:38 | 3 |
Гордиться интерфейсом прокси было бы как минимум странно, ибо ему нужен только конфиг и лог.
А буферы сокетов вы, конечно же, не учитываете...
0
|
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
|
|
12.04.2013, 21:11 [ТС] | 5 |
Коллеги, вы тестировали программу? Да она работает с каждым клиентом в отдельном потоке, точнее отдает каждое соединение в отдельный поток. Если сомневаетесь в эффективности - приведите пример, например: сервер перестал работать после 100 соединений, отожрал памяти 100 мб и процессор загрузил на 100%. И лог или ошибку программы приложите. Я буду только рад таким сообщениям по делу.
Добавлено через 1 час 5 минут В эти 10 кб входят и буферы сокетов, учитываем конечно.
0
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
12.04.2013, 21:56 | 6 |
А на приличной скорости вы это тестировать пробовали? Тормоза же будут.
Стоит почитать про 10k problem
0
|
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
|
|
13.04.2013, 21:36 [ТС] | 7 |
Данный сервер осуществляет все операции ввода-вывода блоками, максимальный размер блока <= 8192 байт. Больше памяти в потоке выделено быть не может. Я тестировал на скорости 30 mbit in - 20 mbit out. Проблем не возникло.
Добавлено через 4 минуты Почему и выложил в эту ветку, есть сомнения в эффективной работе при большом количестве клиентов. Добавлено через 2 часа 23 минуты Сокеты нужно вычитывать во время. Я с трудом себе представляю ситуацию, когда в буфере сокета будет больше данных, чем программа готова обработать.
0
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
13.04.2013, 21:50 | 8 |
Да это запросто: нужно лишь, чтобы принимающая сторона была тормозней отсылающей, тогда будут забиты буферы в обе стороны.
1
|
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
|
|
22.04.2013, 20:44 [ТС] | 9 |
В общем выкладываю исходники, может кому поможет при изучении клиент-серверного взаимодействия. Данный проект закрыт.
0
|
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
|
|
26.04.2013, 21:36 [ТС] | 10 |
Если кто-то решит развить данный проект, я всегда на связи и в этом форуме (www.cyberforum.ru), и на почте - 2509094@mail.ru. На самом деле идей может быть много, из примеров: анализ отправляемого текста, анализ текста, возвращаемого сервером, блокировка нежелательных сайтов, логирование и т.п. Можно, к примеру, извлекать ссылки для скачивания с различных *хостингов.
0
|
26.04.2013, 21:36 | |
26.04.2013, 21:36 | |
Помогаю со студенческими работами здесь
10
Как сделать с помощью фильтров в "Политиках безопасности IP чтобы http трафик открывался через прокси сервер? Прокси сервер и прокси порт в android sdk manager При передаче post запроса через прокси сервер в ответ приходят ошибки с прокси сервера http server,http сервер, post Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |