| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Ускоритель/уменьшитель интернета |
| Автор: ivashkanet 29.4.2006, 16:29 |
| Идею мне подала вот эта http://forum.vingrad.ru/index.php?showtopic=93728 и эта http://www.onspeedrussia.ru/index.php?page=39. Основная идея: Уменьшение объема трафика за счет сжатия (архивирования) информации. Принцип работы: Связка WinService+WebService Браузер запрашивает URL, WinService его перехватывает и отправляет WebService-у. Он получает страничку, сжимает содержимое, отдает WinService-у. Тот его распаковывает и передает браузеру. Проще идеи не придумаешь Возникающие вопросы: 1) Естественно, как это все реализовать. Не сильно предстваляю КАК, но что реально это 100%. 2) На первое время WebService можно разместить на бесплатном хосте, поддерживающем ASP.Net. Дальше, при увеличении количества клиентов сервиса, можно зарегистрировать еще несколько дочерних сервисов, на этом или другом хосте. Если, вдруг, чего не бывает, проект разрастется и бесплатных хостингов нам не хватит можно взять платный. Вопрос: "Где взять деньги на платный хостинг?". Предлагаю стелать приложение, настраивающее наш Win-сервис и продавать его за копейки (например 1$ лицензия). А для тех кто не хочет платить сделать настройки с помощью ini-файла. 3) Нужно выбрать бесплатный архиватор, который бы работал быстро и более-менее качественно. (самим писать, ИМХО, смысла нет. Я например, не знаю ни одного алгоритма сжатия, кроме дерева Кого-то-там) В настройках (Win-сервис) архиватора можно выбирать степень сжатия (балланс: скорость/трафик). А то вместо ускорителя интернета можно получить замедлитель 4) ... n) По мере разработки вопросов набереться еще много Всех, кого моя идея заинтересовала, милости прошу в проект. |
| Автор: Softaz 30.4.2006, 10:44 |
| У некоторых провайдеров (имхо, большинства) есть поддержка аппаратного сжатия трафика, главное - чтобы модем клиента это поддреживал. Например, на V.92 скорость ~20МБ/час. С сжатием она возрастает примерно до 40МБ (текст). Предлагаемая тобой программа может сделать и больше, если сжатие будет больше чем в 2 раза. Добавлено @ 10:46 А если предполагается использование HTTP протокола версии 1.0 и выше, то можно информацию компрессовать в gzip. Далее этот поток натравлять на браузер, который сам обязан ее раскомпрессовать. |
| Автор: Exception 30.4.2006, 18:48 |
Он тут причём? А идея интересная. |
| Автор: Softaz 1.5.2006, 01:07 | ||||||
Создай (== кинь на форму компонент) WebBrowser и по DocumentCompleted
Теперь нам надо узнать все ссылки
Добавлено @ 01:12 Главная проблема -- перехват соединения (если ты хочешь, чтобы действие программы распространялось на любое приложение). Конечно, если в качестве браузера будет использовать Ole-объект ослика (WebBrowser), то проблема быстро решается. Мне самому интересно, как перехватывать соединение. Хочу сделать баннеро-порно-трояно-резку. Уже есть база на 118 тысяч "черных" хостов. А вот как перехватить соединение и заблокировать в простейшем случае в .NET я не знаю |
| Автор: Exception 1.5.2006, 09:47 |
| Погодите. Никакой завязки на WebBrowser быть НЕ ДОЛЖНО! |
| Автор: ivashkanet 1.5.2006, 18:53 | ||
| План разработок: 1) web-сервис; 2) win-сервис. Почему: ведь web-сервис, ИМХО, проще и к нему можно подключиться и без win-сервиса. Да и работы там чуть-чуть. Вот только найти бы класс отвечающий на нижеприведенный вопрос. Второй пункт, скорее всего, нужно будет решать по принципу прокси-сервера (хотя могу ошибаться) Вопрос:Может кто знает какой класс может получить доступ к тексту удаленной страницы P.S. А ее и не будет Ведь я, пока, мало что в этом понимаю, а браузер должен был подсказать путь решения. Мог но не подсказал. Обрывается, в рефлекторе, на
|
| Автор: Exception 1.5.2006, 22:38 |
| Гляди в сторону System.Web.HttpRequest.. Это по памяти, точно не помню. |
| Автор: VectorMan 2.5.2006, 06:05 | ||
обычно всякие "резалки" трафика работают либо как локальный http-proxy, либо через API ядра для фильтрации пакетов |
| Автор: ivashkanet 2.5.2006, 09:58 |
Нее..., такое я мутить не буду А вот такое, думаю, прокатит P.S. VectorMan, может подкинешь инфу |
| Автор: VectorMan 2.5.2006, 13:35 | ||
примеров кода у меня нет, так что ищи сам :-) ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt rfc по http протоколу - точно лишним не будет |
| Автор: Softaz 2.5.2006, 17:15 |
Вот как раз про это. А можно с NDIS в .NET работать? |
| Автор: ivashkanet 2.5.2006, 19:58 |
VectorMan, не нужно мне знать ни про какой протокол, .Net должен знать его за меня. P.S. В этом же и прелесть .Net. Ничего не знаю, но программы работают P.P.S. Я конечно утрирую, но суть та же. |
| Автор: VectorMan 3.5.2006, 10:57 | ||||
не знаю. теоритически любой unmanaged код можно прикрутить :-)
не думаю, что существует стандартный класс реализующий http-proxy, так что варианты либо писать свой, либо искать в инете готовое решение (http://www.mentalis.org/soft/projects/proxy/ например) |