Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вырваться из локальной сети, используя indy или Socket?


art36 ©   (2007-11-12 11:15:00) 

Работаю с компонентами indy (idtcpclient и idtcpserver) и сокетами (clientsocket и serversocket).

Дома два компа, делаю клиент-серверное приложение - получается осуществить передачу данных. Дело доходит до инета..... В инете я под IP виден, который мне провайдер сам устанавливает, причем он сам иногда его меняет, т.е. уже не получается запрограммировать таким способом (перепробовал все возможные ip - не работает).

Вопросы: Как мне осуществить соединение между удаленными компами в Delphi? Другой протокол использовать или здесь хитрость какая?


Плохиш   (2007-11-13 14:16:00) [1]

http://www.dyndns.com/

решит проблему


art36   (2007-11-13 13:03:00) [2]

Не, все верно! Спасибо - теперь понял как это реализовать.


art36   (2007-11-13 13:02:00) [3]

Не, все верно! Спасибо - теперь понял как это реализовать.


korneley   (2007-11-12 22:29:00) [4]

В двух словах.
1.Хост, на котором стоит серверное приложение (т.е. которое порты
слушает, TidTCPServer пользует), должен быть либо явно виден из Cети,
а стало быть иметь "реальный"/"белый" IP-адрес, либо договаривайся с
провайдером, чтоб он на своём прокси маппинг устроил на тебя. Второе -
вряд ли, не знаю ни одного провайдера, кто это делает.
2.Клиентская часть (которой "прямой" IP не обязателен) подключается к серверной, и передавай свои данные в обе стороны, согласно твоему протоколу.
 Кстати, и ICQ, и браузеры, и прочие Skype - ы, как раз клиенты,
поэтому им прокси твоего провайдера по барабану. Ну, если порты не прикрыты, конечно.
 Может чего неправильно посоветовал?


art36   (2007-11-12 20:06:00) [5]

Ага, попробовал...

Думаю мне просто нужен "белый" IP, тогда мои программы смогут коннектиться без проблем.

Правильно говорил KSergey во втором сообщении.

?-)

Спасибо.
Поделитесь еще кто что знает, может кто-нить это уже прошел?


Сергей М.   (2007-11-12 16:50:00) [6]


> Anatoly Podgoretsky ©   (12.11.07 16:46) [13]


А вот это совсем другой коленкор)
Но к проблеме автора, согласись, это не имеет ни малейшего отношения.


art36   (2007-11-12 16:50:00) [7]

Окей! Спасибо! Пробую еще раз...............................!


Anatoly Podgoretsky   (2007-11-12 16:46:00) [8]

> Сергей М.  (12.11.2007 16:38:12)  [12]

Хорошо сформулирую по другому - серверу известен сокет, вот он и используется и поддерживается в актуальном состоянии.


Сергей М.   (2007-11-12 16:38:00) [9]


> Anatoly Podgoretsky ©   (12.11.07 16:34) [11]


> ИП серверу известен


Серверу по-барабану, чей ИП ему стал при этом известен. Это, к примеру, может быть и прокси-хост.


Anatoly Podgoretsky   (2007-11-12 16:34:00) [10]

> Сергей М.  (12.11.2007 16:26:09)  [9]

Нужна, но после соединения, ИП серверу известен.
Это тот случай когда нужен минимум один видимый ИП


Anatoly Podgoretsky   (2007-11-12 16:34:00) [11]

> art36  (12.11.2007 16:05:08)  [8]

С этого надо и начать, определить видно ли тебя, только при видимости хотя бы одного компьютера возможна работа.


Сергей М.   (2007-11-12 16:26:00) [12]


> В инете мне кажется меня не видно


Когда кажется, тогда крестятся)
Сначала убедисьв этом либо обратном, потом и разговор будет.


> как же тогда аська


Аське для реализации ее основных функций видимость твоего хоста извне совершенно не нужна.


art36   (2007-11-12 16:05:00) [13]

Да, еще не сказал, что когда я запускаю свою прогу дома на двух компах, то работает и отлично! Но это в локалке.... В инете мне кажется меня не видно. Но как же тогда аська например или другие сетевые программы, которые я использую?


Anatoly Podgoretsky   (2007-11-12 16:05:00) [14]

Я думаю, ИП соединения, а не твоей карты.


art36   (2007-11-12 16:03:00) [15]

Конечно IP не будет меняться во время соединения! он менялся 2-3 раза за 5 месяцев.

Я указываю IP сетевой карты..... есть еще IP самого VPN соединения, а есть еще тот который мне дает провайдер автоматически.


art36   (2007-11-12 16:00:00) [16]

Да все верно....

Сеть организована так:
Я напрямую подключен к сети (VPN соединение), а второй комп ко мне (т.е. шлюз).

Проблема не со вторым компом, а в том, что когда я сделал клиент-серверное приложение, то у мое друга в тамбове не соединялось со мной.... Однако, один раз мы с ним состряпали примитивную прогу и так получилось, что в одну сторону конектилось а в другую нет (это мы определили поменявшись прогами клиент и сервер).

Я указываю IP своей сетевой карты - это правлильно ведь?
Боюсь, что если закинуть часть моей программы на другой кдаленный комп, то он просто не найдет мой комп.... что мне кажется и происходит.

((


Сергей М.   (2007-11-12 12:51:00) [17]


> с компонентами .. и сокетами (clientsocket и serversocket)


clientsocket и serversocket - это, по-твоему, не компоненты ?


Anatoly Podgoretsky   (2007-11-12 11:49:00) [18]

При том второй компьютер не обязан быть виден, достачно одного компьютера, чтобы осуществлять связь между ними через Интернет.


Anatoly Podgoretsky   (2007-11-12 11:48:00) [19]

Раз ты виден в Интернете, то почти никакой разницы между локалкой и другие компоненты не нужны.


KSergey   (2007-11-12 11:39:00) [20]

А провайдер из какой зоны IP адреса выделает? Из своей локальной сетки? Тогда надо купить у него реальный ("белый") IP.
Хотя пожалуй правильнее будет научить работать прогу через провайдерский прокси или как тама у него делается.

К стати, на время одного сеанса IP - не меняется.
И еще. А как организовано подсключение к Internet каждого из участвующих компов?


Наверх

Титульная страница Поиск, карта сайта Написать письмо