С Новым годом! Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
1

HTTP прокси-сервер win32. Light-Proxy1.0.alpha

11.04.2013, 18:22. Показов 1716. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Реализую прокси-сервер. Начал писать этот проект для себя с целью попрактиковаться в написании клиент-серверных приложений. Прокси-сервер как нельзя лучше подходит для этих целей. Сервер написан только с использованием C, WinApi и стандартных библиотек. Интерфейс в данный момент находится в зачаточном состоянии, цель сейчас - это протестировать работу в разных ОС и очень замечательно было бы - под нагрузкой, хотя бы клиентов 10, если у кого-то есть такая возможность, буду очень благодарен. У меня, к сожалению, сейчас такой возможности нет При написании особое внимание уделялось минимальному использованию системных ресурсов. На данный момент есть возможность разрешать/запрещать доступ к серверу с определенных IP, разрешать/запрещать доступ к различным хостам всем клиентам. Если будет видно, что проект не интересен, придется его закрыть, так как основная цель достигнута, а развивать никому не нужное приложение смысла не вижу.

Процесс первичной настройки:
1. Зайти в Configure, Прописать IP и порт, на которых будет слушать сервер
2. Зайти во вкладку Allowed IP и прописать клиентов, у которых будет доступ к серверу (по умолчанию доступа нет ни у кого)
3. Нажать кнопку Restart
HTTP прокси-сервер win32. Light-Proxy1.0.alpha

HTTP прокси-сервер win32. Light-Proxy1.0.alpha

HTTP прокси-сервер win32. Light-Proxy1.0.alpha

HTTP прокси-сервер win32. Light-Proxy1.0.alpha

HTTP прокси-сервер win32. Light-Proxy1.0.alpha


ссылка на файл:
lproxy-1.0a.zip
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2013, 18:22
Ответы с готовыми решениями:

Кэширующий HTTP прокси-сервер
Здравствуйте! Нужно проконсультироваться. Необходимо написать кэширующий HTTP прокси-сервер....

HTTP прокси сервер с поддержкой SSL
Вот интересно - как собственно организовать прокси сервер с поддержкой SSL? C обычным все понятно -...

Как запустить и настроить php-4.3.5-Win32 а также apache_2.0.49-win32-x86-no_ssl и mysql-5.0.0a-alpha-win ?
Здрасте... Php я решил начать изучать недавно. Уже делал странички в Html, Java. Теперь хочу...

Приложение, которое работает как прокси-сервер http
Написать приложение, которое работает как прокси-сервер http. Должна быть возможность удаленного...

9
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
Цитата Сообщение от dmitry94 Посмотреть сообщение
В целом я горжусь этим движком(не интерфейсом)
Гордиться интерфейсом прокси было бы как минимум странно, ибо ему нужен только конфиг и лог.
Цитата Сообщение от dmitry94 Посмотреть сообщение
В среднем мой сервер использует 1 Мб оперативной памяти на собственные нужды, каждый поток не может захватить более 10 Кб памяти, то есть теоретически при 1000 клиентах будет использовано не более 10 Мб памяти в пике нагрузки.
А буферы сокетов вы, конечно же, не учитываете...
0
Эксперт по электронике
5951 / 2667 / 282
Регистрация: 28.10.2011
Сообщений: 10,062
Записей в блоге: 6
11.04.2013, 23:44 4
Цитата Сообщение от dmitry94 Посмотреть сообщение
каждый поток не может захватить более 10 Кб памяти
Вы с каждым клиентом работаете в отдельном потоке? Зачем?
Одного потока достаточно для практически неограниченного числа клиентов.
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
12.04.2013, 21:11  [ТС] 5
Цитата Сообщение от locm Посмотреть сообщение
Вы с каждым клиентом работаете в отдельном потоке? Зачем?
Одного потока достаточно для практически неограниченного числа клиентов.
Коллеги, вы тестировали программу? Да она работает с каждым клиентом в отдельном потоке, точнее отдает каждое соединение в отдельный поток. Если сомневаетесь в эффективности - приведите пример, например: сервер перестал работать после 100 соединений, отожрал памяти 100 мб и процессор загрузил на 100%. И лог или ошибку программы приложите. Я буду только рад таким сообщениям по делу.

Добавлено через 1 час 5 минут
Цитата Сообщение от NoMasters Посмотреть сообщение
Гордиться интерфейсом прокси было бы как минимум странно, ибо ему нужен только конфиг и лог.

А буферы сокетов вы, конечно же, не учитываете...
В эти 10 кб входят и буферы сокетов, учитываем конечно.
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
12.04.2013, 21:56 6
Цитата Сообщение от dmitry94 Посмотреть сообщение
В эти 10 кб входят и буферы сокетов, учитываем конечно.
А на приличной скорости вы это тестировать пробовали? Тормоза же будут.
Цитата Сообщение от dmitry94 Посмотреть сообщение
Да она работает с каждым клиентом в отдельном потоке, точнее отдает каждое соединение в отдельный поток. Если сомневаетесь в эффективности - приведите пример
Стоит почитать про 10k problem
0
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
13.04.2013, 21:36  [ТС] 7
Цитата Сообщение от NoMasters Посмотреть сообщение
А на приличной скорости вы это тестировать пробовали? Тормоза же будут.
Стоит почитать про 10k problem
Данный сервер осуществляет все операции ввода-вывода блоками, максимальный размер блока <= 8192 байт. Больше памяти в потоке выделено быть не может. Я тестировал на скорости 30 mbit in - 20 mbit out. Проблем не возникло.

Добавлено через 4 минуты
Цитата Сообщение от NoMasters Посмотреть сообщение
Стоит почитать про 10k problem
Почему и выложил в эту ветку, есть сомнения в эффективной работе при большом количестве клиентов.

Добавлено через 2 часа 23 минуты
Цитата Сообщение от NoMasters Посмотреть сообщение
Гордиться интерфейсом прокси было бы как минимум странно, ибо ему нужен только конфиг и лог.

А буферы сокетов вы, конечно же, не учитываете...
Сокеты нужно вычитывать во время. Я с трудом себе представляю ситуацию, когда в буфере сокета будет больше данных, чем программа готова обработать.
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
13.04.2013, 21:50 8
Цитата Сообщение от dmitry94 Посмотреть сообщение
Сокеты нужно вычитывать во время. Я с трудом себе представляю ситуацию, когда в буфере сокета будет больше данных, чем программа готова обработать.
Да это запросто: нужно лишь, чтобы принимающая сторона была тормозней отсылающей, тогда будут забиты буферы в обе стороны.
1
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
22.04.2013, 20:44  [ТС] 9
В общем выкладываю исходники, может кому поможет при изучении клиент-серверного взаимодействия. Данный проект закрыт.
Вложения
Тип файла: zip lproxy.zip (21.6 Кб, 15 просмотров)
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2013, 21:36
Помогаю со студенческими работами здесь

Как сделать с помощью фильтров в "Политиках безопасности IP чтобы http трафик открывался через прокси сервер?
Здравствуйте. Как сделать так, чтобы http трафик открывался через прокси сервер? Это нужно сделать...

Прокси сервер и прокси порт в android sdk manager
открываю android sdk manager, он пытается подключиться к интернетам, но у него не получается, т. к....

При передаче post запроса через прокси сервер в ответ приходят ошибки с прокси сервера
При передаче post запроса через прокси сервер в ответ прилетают ошибки с прокси сервера:...

http server,http сервер, post
Необходимо реализовать функцию post для http сервера Косяк как принимать сообщение отправленное -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru