Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / HTTP сервер своими руками, это возможно? / 25 сообщений из 30, страница 1 из 2
07.05.2013, 08:28
    #38249826
kostya_kolxoz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
Здравствуйте, надеюсь создал тему в нужном разделе форума.
Столкнулся с такой проблемой, писал программу в Delphi, в которой понадобилось использовать HTTP и FTP серверы.
В пределах локальной сети всё работает исправно клиент обращается - сервер ему отвечает. Но пользователь за пределами локальной сети, не может получить доступ к моему серверу.
на форуме нашёл очень интересную тему, как раз мой случай: http://www.sql.ru/forum/982636/idhttpserver-idhttp
Но хотелось бы внести некую ясность. Получается если у меня:
1. Маршрутизатор (ADSL модем TP-LINK TD-W8901G), подключенный к интернет
2. Провайдер который присваивает динамический IP адрес, при подключение к интернету
то клиент со стороны, не сможет подключится к моему HTTP серверу, и моя идея с собственным HTTP сервером невозможна при данных условиях.
Звонил единственному в моём городе интернет провайдеру, пытался узнать предоставляет ли он статические IP адреса (об этом рассказывается в ссылке выше), в ответ сказали: "предоставляем статику только организациям, за немалые деньги".
Может всё таки необходимо правильно настроить свой маршрутизатор. Детальное изучение настроек, и форум TP-LINK (моего модема), результат не принесло.
Подскажите возможно ли это?
...
Рейтинг: 0 / 0
07.05.2013, 08:41
    #38249833
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
kostya_kolxoz,

смотрите в сторону всяких dyndns.
...
Рейтинг: 0 / 0
07.05.2013, 09:07
    #38249850
kostya_kolxoz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
tanglir,

Всё таки вы думаете это возможно. Смотрел эти материалы, для моего модема это вкладка DDNS. Вот что удалось найти:
http://www.tp-linkru.com/article/?faqid=297

и на скриншоте показан пример настроек DDNS именно моего модема. Но этот вариант, я так понял, подходит опять же для статических IP адресов. Т.к. при регистрации, просят ввести свой IP адрес, ниже определяет Current IP. Считаете стоить зарегестрироваться и это может помочь моей проблеме?
...
Рейтинг: 0 / 0
07.05.2013, 10:33
    #38249932
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
1) Где вы в настройках DDNS увидели "статический адрес"? Обычно требуется ввести только логин/пароль (под которым вы регистрируете хост на сервере) и имя вашего DDNS-хоста. Правда, есть проблема - пароль для DDNS в большинстве бюджетных роутеров хранится в открытом виде, так что при получении доступа к шеллу роутера - пароль уводится на раз

2) Не забудьте, что кроме настройки DynamicDNS, - вам необходимо сделать и проброс портов (PortForwarding/VirtualServers), дабы внешние запросы перенаправлялись на ваш сервис внутри локальной сети.
...
Рейтинг: 0 / 0
07.05.2013, 10:39
    #38249944
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
kostya_kolxozНо этот вариант, я так понял, подходит опять же для статических IP адресов.Эээ... там же вроде английским по белому написано: "This feature lets you use a static host name with a dynamic IP address ".
PS. А вообще неясна стоящая перед вами задача - может, вам и обычного хостинга вполне достаточно. Вы опишите подробнее в той теме.
...
Рейтинг: 0 / 0
07.05.2013, 10:49
    #38249960
kostya_kolxoz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
AndreTM1) Где вы в настройках DDNS увидели "статический адрес"? Обычно требуется ввести только логин/пароль (под которым вы регистрируете хост на сервере) и имя вашего DDNS-хоста. Правда, есть проблема - пароль для DDNS в большинстве бюджетных роутеров хранится в открытом виде, так что при получении доступа к шеллу роутера - пароль уводится на раз

2) Не забудьте, что кроме настройки DynamicDNS, - вам необходимо сделать и проброс портов (PortForwarding/VirtualServers), дабы внешние запросы перенаправлялись на ваш сервис внутри локальной сети.

Я тут честно говоря вообще не до конца понимаю, для чего мне нужна регистрация на http://dyn.com/dns/. Насчёт конфиденциальности, так она меня вообще меньше всего беспокоит. По поводу настройки Virtual Servers, я делал настройку, указывал HTTP сервер, порт 80, и IP адрес 192.168.1.2 текущий адрес моей сетевой платы. Но как я понимаю без регистрации на этом сайте всё это без толку. Не могли бы по подробнее описать для чего вообще нужна эта регистрация, и как она мне может помочь?
...
Рейтинг: 0 / 0
07.05.2013, 10:55
    #38249964
kostya_kolxoz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
tanglirkostya_kolxozНо этот вариант, я так понял, подходит опять же для статических IP адресов.Эээ... там же вроде английским по белому написано: "This feature lets you use a static host name with a dynamic IP address ".
PS. А вообще неясна стоящая перед вами задача - может, вам и обычного хостинга вполне достаточно. Вы опишите подробнее в той теме.

Извиняюсь, в проблеме не указал своей цели. Вообще я не знаю нужен ли мне хостинг. По простому говоря, мне нужно отправить пакетные данные (текстовую строку) от клиента - серверу. Всё это должно происходить по сети интернет, т.к. компьютеры находятся на большом расстоянии друг от друга. Как я уже говорил, по локальной сети у меня всё работает, приложение писал самостоятельно в среде Delphi. А вот опыту с хостингом, и прочими интернет делами (не знаю как бы это правильно назвать), нету.
...
Рейтинг: 0 / 0
07.05.2013, 11:06
    #38249971
kostya_kolxoz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
как писал автор этой темы:
http://www.sql.ru/forum/982636/idhttpserver-idhttp
вся проблема заключалась в получении статического IP адреса, т.к. (как я понял) при получении динамического IP адреса от провайдера при подключении, который можно узнать например набрав internet.yandex.ru, на самом деле IP адрес совсем не тот, который приводит нам яндекс. IP адрес, который мне нужен, у провайдера где-то в таблицах. Поправьте если я не прав, но другой версии у меня нет.
...
Рейтинг: 0 / 0
07.05.2013, 11:18
    #38249981
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
kostya_kolxoz, ТС той темы соединялся по айпишнику. А весь смысл этих сервисов - в том, что хотя айпишник действительно меняется, но имя сервера остаётся неизменным . Не понимаю, зачем тамошний ТС вообще маялся с динднсом, если пытался соединяться всё равно по айпи-адресу, а не по имени. Возможно, его компоненты не умели работать с именами, только с айпи?.. Если у вас такая ситуация (хотя мне сложно это представить), то динднс и ему подобные вам не помогут.
...
Рейтинг: 0 / 0
07.05.2013, 11:40
    #38250003
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
kostya_kolxoztanglirпропущено...
Эээ... там же вроде английским по белому написано: "This feature lets you use a static host name with a dynamic IP address ".
PS. А вообще неясна стоящая перед вами задача - может, вам и обычного хостинга вполне достаточно. Вы опишите подробнее в той теме.

По простому говоря, мне нужно отправить пакетные данные (текстовую строку) от клиента - серверу. Всё это должно происходить по сети интернет, т.к. компьютеры находятся на большом расстоянии друг от друга.
Насколько синхронно? Если не очень - клиент может слать что-то на адрес электронной почты, а сервер - оттуда же - забирать. Вплоть до твиттеров использовать можно при наличии извращенной фантазии. В майском "хакере" очередная статья на эту тему.
...
Рейтинг: 0 / 0
07.05.2013, 11:46
    #38250015
kostya_kolxoz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
tanglirkostya_kolxoz, ТС той темы соединялся по айпишнику. А весь смысл этих сервисов - в том, что хотя айпишник действительно меняется, но имя сервера остаётся неизменным . Не понимаю, зачем тамошний ТС вообще маялся с динднсом, если пытался соединяться всё равно по айпи-адресу, а не по имени. Возможно, его компоненты не умели работать с именами, только с айпи?.. Если у вас такая ситуация (хотя мне сложно это представить), то динднс и ему подобные вам не помогут.

Согласен, пораскинув мозгами, тоже пришёл к выводу что DynDNS мне не поможет. Если представить, то мне нужно, программу которая работает по сети, только заменить локальную сеть интернетом без посредников и серверов. Кстати, мои компоненты уже настроены для работы не по определённому IP адресу, а по имени машины. Но как я уже говорил всё это работает только в пределах локальной сети. Видимо в условиях нынешнего развития интернета в моём городе, рядовому пользователю, сделать такое на своём ПК не под силу.
...
Рейтинг: 0 / 0
07.05.2013, 11:55
    #38250031
kostya_kolxoz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
Vladimir Baskakov,
Синхронности, нет. Строка может посылаться раз в секунду, а может раз в час. Уже думал над вариантом, где используется популярный mail агент, но при этом возникнут другие трудности. Да и не нужны посредники при передачи одной строки.
Мне бы совет может по настройке маршрутизатора, или что нужно мне получить от своего провайдера? Не знаю.
Вспомнил интересный момент. Как тогда работает программа uTorrent, сомневаюсь что она использует выделенный сервер, хотя функции выполняет аналогичные моим, пересылка пакетов от клиента - клиенту. И торренту не важно выделенный у меня IP адрес, или же динамический он работает!
...
Рейтинг: 0 / 0
07.05.2013, 12:01
    #38250043
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
А Вы думаете, что морочится с настройками маршрутизатора сильно проще, чем использовать хорошо известного посредника в виде pop-smtp (ну или жабберного) протокола? С учетом особенностей провайдера? ну ладно.
...
Рейтинг: 0 / 0
07.05.2013, 12:39
    #38250112
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
kostya_kolxozКак тогда работает программа uTorrent, сомневаюсь что она использует выделенный серверОна использует трекер, у которого айпи как раз статический. Оповещает трекер, какой у неё в настоящее время айпи, и у него же запрашивает айпи других личеров/сидеров.
...
Рейтинг: 0 / 0
07.05.2013, 12:46
    #38250128
dvim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
kostya_kolxoz,
Самый простой вариант - добавить 3 звено. На сервере (хостинг).

Ваша программа обращается на сервер, пишет строку.
Вторая программа также обращается на сервер, регулярно, и получает новую информацию , если она есть.
На сервере написать код , который сохраняет и выдает информацию - очень просто.
Хостинг с пхп можно найти бесплатно.
...
Рейтинг: 0 / 0
07.05.2013, 13:14
    #38250186
MazoHist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
kostya_kolxoztanglirkostya_kolxoz, ТС той темы соединялся по айпишнику. А весь смысл этих сервисов - в том, что хотя айпишник действительно меняется, но имя сервера остаётся неизменным . Не понимаю, зачем тамошний ТС вообще маялся с динднсом, если пытался соединяться всё равно по айпи-адресу, а не по имени. Возможно, его компоненты не умели работать с именами, только с айпи?.. Если у вас такая ситуация (хотя мне сложно это представить), то динднс и ему подобные вам не помогут.

Согласен, пораскинув мозгами, тоже пришёл к выводу что DynDNS мне не поможет. Если представить, то мне нужно, программу которая работает по сети, только заменить локальную сеть интернетом без посредников и серверов. Кстати, мои компоненты уже настроены для работы не по определённому IP адресу, а по имени машины. Но как я уже говорил всё это работает только в пределах локальной сети. Видимо в условиях нынешнего развития интернета в моём городе, рядовому пользователю, сделать такое на своём ПК не под силу.
Ну и почему dyndns не спасет? Если программа работает при указании адреса mycoolserver.lan, то она точно так же будет работать и при указании mycoolserver.dyndns.org. Но халява кончилась - большинство железок умеют работать с dyndns, и они решили на этом поднять бабло - убрали бесплатный вариант использования. Можно воспользоваться no-ip.info, но для этого нужно будет поставить клиента для обновления ip - с железками проще - они при соединении сообщают свой адрес, но сейчас железок с поддержкой no-ip практически нет (а раньше были).
...
Рейтинг: 0 / 0
07.05.2013, 14:05
    #38250298
kostya_kolxoz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
dvimkostya_kolxoz,
Самый простой вариант - добавить 3 звено. На сервере (хостинг).

Ваша программа обращается на сервер, пишет строку.
Вторая программа также обращается на сервер, регулярно, и получает новую информацию , если она есть.
На сервере написать код , который сохраняет и выдает информацию - очень просто.
Хостинг с пхп можно найти бесплатно.

Идея очень интересная. Вот только полистав условия хостинговых компаний, заметил что многие из них не хотят чтобы на их сервере работало моё приложение с расширением .exe и др. (это при бесплатном хостинге). К тому же я совсем не знаю PHP, может это был бы выход для меня, но к сожалению владею только Pascal, использую компоненты Indy. Попробую отработать этот вариант. Надеялся конечно обойтись без 3-их лиц.
...
Рейтинг: 0 / 0
07.05.2013, 14:59
    #38250394
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
MazoHistно сейчас железок с поддержкой no-ip практически нет (а раньше были).прошивка wive-rtnl подходит довольно много куда, клиент no-ip там отлично работает, проверено лично.
...
Рейтинг: 0 / 0
07.05.2013, 15:09
    #38250421
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
kostya_kolxozв ответ сказали: "предоставляем статику только организациям, за немалые деньги".Даже наш монстроидальный rt раздает статику юрикам бесплатно, физикам по 100руб/мес.
У вас видимо совсем "колхоз-пионернет", с одним айпи на всех.
...
Рейтинг: 0 / 0
07.05.2013, 15:24
    #38250448
kostya_kolxoz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
Ivan_Pisarevskykostya_kolxozв ответ сказали: "предоставляем статику только организациям, за немалые деньги".Даже наш монстроидальный rt раздает статику юрикам бесплатно, физикам по 100руб/мес.
У вас видимо совсем "колхоз-пионернет", с одним айпи на всех.

Живу в Казахстане. Один провайдер с удовлетворительной скоростью, на всю страну, конкурентов нет, тут как говориться "хозяин-барин"...
...
Рейтинг: 0 / 0
07.05.2013, 17:06
    #38250668
Scheduler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
Случалось побывать с похожей ситуации, стояло жесткое условие нахождения службы именно в локальной сети клиента, IP для доступа в интернет также выделялся динамически.

В данной ситуации, как уже писалось выше, не получилось обойтись без промежуточного звена в виде услуг хостинга.
Если вам отказывают от размещения у них исполняемых файлов, то возможно подойдет следующий вариант?!

На хостинге с известным IP создаете две простых службы или сценария:
1)Первая будет являтся "пинговалкой" для вашего основного приложения на Delphi, содержит один метод в котором вы просто будете выцеплять IP-адрес из пришедшего запроса и куда-нибудь сохранять(вот это и есть ваш динамический IP). В приложение на Delphi добавить еще одну фишку, которая будет например раз в минуту дергать метод службы с хостинга

2)Вторая служба перенаправляет запросы от клиентов на ваш сервак уже в локальной сетке
Там просто формируете запрос по адресу с IP, определенным в П1, и параметрами пришедшими с клиента.

В своей же локальной сети надо будет выполнить проброску портов, на ваш ПК, на котором и будет крутится ваш софт. Желательно с 80-го порта увести работу системы на какой-нибудь другой.


Возможно усложнено, но вариант 100% рабочий
...
Рейтинг: 0 / 0
07.05.2013, 17:11
    #38250677
Scheduler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
Особенно глубоких знаний php,asp или постороения web-сервисов и не нужно будет, хотя лучше конечно чтобы были :-)
Думаю примеров кода на просторах интернета найдете с лихвой.
...
Рейтинг: 0 / 0
07.05.2013, 17:54
    #38250754
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
kostya_kolxozdvimkostya_kolxoz,
Самый простой вариант - добавить 3 звено. На сервере (хостинг).

Ваша программа обращается на сервер, пишет строку.
Вторая программа также обращается на сервер, регулярно, и получает новую информацию , если она есть.
На сервере написать код , который сохраняет и выдает информацию - очень просто.
Хостинг с пхп можно найти бесплатно.

Идея очень интересная. Вот только полистав условия хостинговых компаний, заметил что многие из них не хотят чтобы на их сервере работало моё приложение с расширением .exe и др. (это при бесплатном хостинге). К тому же я совсем не знаю PHP, может это был бы выход для меня, но к сожалению владею только Pascal, использую компоненты Indy. Попробую отработать этот вариант. Надеялся конечно обойтись без 3-их лиц.
конечно не хотят - у них же линукс.... или юникс....
Но все таки, а почему не через почту? Понимаете - почта - это как раз и есть такой сервис, который специально сделали для асинхронной доставки сообщений из точки А в точку Б.
Когда точки А и Б не знают об адресах друг друга.
Ну если не подойдет почта, то может подойти jabber

делаете клиента на делфи
http://yandex.ru/yandsearch?text=Delphi jabber&lr=213

регистрируетесь на сервере
http://www.jabber.ru/jabservers
и гоняете текстовые строчки куда хотите?

Тут важно понять цену вопроса - если сообщение придет позже или затеряется - это совсем плохо? или не совсем. Как много их в сутки. какие пиковые частоты.
Может почта или jabber-сервер не переварят поток.

Но если требования к скорости-надежности высоки, то стоит ли надеятся на бесплатный хостинг?

Ну и вряд ли решение с сервером на подключенном через модем компе локальной сети будет гарантированно надежнее...
...
Рейтинг: 0 / 0
07.05.2013, 20:35
    #38250908
Константин Цветков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
tanglirkostya_kolxozКак тогда работает программа uTorrent, сомневаюсь что она использует выделенный серверОна использует трекер, у которого айпи как раз статический. Оповещает трекер, какой у неё в настоящее время айпи, и у него же запрашивает айпи других личеров/сидеров. Вообще-то уже нет. Вы создаёте торрент-файл, посылаете его другу, он его открывает и заносит вас в список пиров — всё скатается.
...
Рейтинг: 0 / 0
08.05.2013, 04:58
    #38251136
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTTP сервер своими руками, это возможно?
Константин Цветкови заносит вас в список пировА что именно туда заносится? Я переподключаюсь к сети, айпи мой меняется... и каким образом друг потом меня находит?
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / HTTP сервер своими руками, это возможно? / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]