![]() |
Модераторы: marykone |
![]() ![]() ![]() |
|
Crait |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
Вот сделал я очередной велосипед
![]() И работал он нормально в локальной сети, а в инете не работал ![]() До тех пор, пока мне не подсказали, что можно обратиться к провайдеру и за небольшие деньги обеспечить себе постоянный IP. Так я и сделал, и теперь клиенты нормально коннектятся к серверу на реальный ИП. Связь идет у меня по TCP/WinSock. Так вот вопрос : Можно ли связать два компа в инете без заморочек, связанных с получением постоянного IP ? И, самое главное, как ? |
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 10 Всего: 43 |
Вообще конечно постоянный ip-это благо, а не заморочка.
Проблема скорее всего не просто в динамическом ip, а в том, что ты находишся за NAT'ом. Т.е. твой комп вместе с другими "висит" за шлюзом провайдера, и информация от конкретного адреса приходит к твоему компу только если он сам инициировал это соединение с внешним миром. Для всего инета все компьютеры, находящиеся за шлюзом представлены просто как этот компьютер. Естественно, с постоянным ип все внешние запросы приходят непосредственно на твой комп. Как вариант, можно попросить вместо ip направить на твою машину запросы на определенный порт, но это только в том случае, если твой сервер не использует порт из стандартно зарезервированных. |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 7 Всего: 32 |
Речь о чем-то сродни децентрализации... Решения тут такие:
Если знаешь подсеть, где должна находиться другая машина, то просто просканить на определенный порт. Другой вариант - при подключении к инету, например, коннеститься к некому FTP серверу, закидывать туда фаил со свом IP и смотреть, нет ли там других таких фаилов. В локальныых сетях это может решаться бродкастами/мультикастами, только в инете этот трафик обычно режется. Это все, конечно, только для тех случаев, когда ты получаешь свой IP от провайдера по DHCP и там нигде не поднята NAT. -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 10 Всего: 43 |
В этом случае могу предложить ещ один вчариант. Есть DNS сервер. При включении машины, она получает свой IP и на сервер по заране оговоренным правилам высылает мессагу со своим IP. DNS сервер принимает мессадж и на все последующие запросы в течении скажем 10 секунд дает ответ соответсвия этого имени и ip, если в течении следующих 10 секунд от машины пришел ответ, то это соответствие сохраняется, иначе считается что машины отсоединена от инета, и этот адрес более не возвращается. Главное условие - DNS сервер должен указывать в ответах короткое врем жизни. |
|||
|
||||
Crait |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
Благодарю всех, кто откликнулся.
Но. Вы предлагаете в текущем сеансе определять свой текущий IP, сообщать его другой стороне (через FTP или как еще) и устанавливать связь на этот IP. Так вот, я пробовал сообщать другим свой IP (по телефону), определенный различным образом - взятый из hosts, или же тот, что определяет http://auto.jobest.ru/scan_port.php , результат один - нет коннекта. Почему - по причине наличия NAT у провайдера или еще почему-то, не знаю. Кстати, вместо FTP можно использовать почтовые ящики. Еще раз благодарю за ответы. |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 7 Всего: 32 |
Не знаю насчет самого простого способа узнать свой IP под виндами, но нечто ИМХО попроще посоветовать могу:
Ну а если NAT - то либо договариваться с провайдером, либо менять провайдера -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
Crait |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
Данные от ipconfig тоже пытался использовать - нифига.
|
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 7 Всего: 32 |
Как выглядит IP, что ipconfig выдает?
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
Crait |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
Сейчас у меня постоянный IP, так что воспроизвести все сейчас не могу.
А было, кроме 192.168.1.150 (это из hosts), по-моему 10.0.0.1 или 10.0.0.150 |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 7 Всего: 32 |
NAT, однозначно.
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
Crait |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
И чо, NAT теоретически непробиваем ?
|
|||
|
||||
Гость_DENNN |
|
|||
Unregistered |
соединение инициирует комп, находящийся за NAT
|
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 7 Всего: 32 |
Теоретически можно зафорвардить траффик на какой-то порт шлюза из инета на какой-то порт твоей машины.
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
Crait |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
Вобщем, насколько я понял, невозможно из своей программы
преодолеть NAT не связываясь с переконфигурированием чего-то там у провайдера. |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 7 Всего: 32 |
Именно так
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Сетевые технологии | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |