Текущий архив: 2011.05.22;
Скачать: CL | DM;
Вниз
Client-Server+Dynamic IP Найти похожие ветки
← →
AdMeen © (2008-12-19 08:02) [0]Здравствуйте,уважаемые мастера Delphi, появился вопрос:
Есть клиент-серверное приложение,написанное на сокетах,у меня к Вам такой вопрос,почему когда сервер стоит на машине со статичным ip подключение проходит замечательно. А на динамичном ip у клиента выскакивает ошибка 10061. И ещё,можно ли обойти необходимость статичного ip при помощи dyndns?
← →
Сергей М. © (2008-12-19 08:24) [1]
> почему когда сервер стоит на машине со статичным ip подключение
> проходит замечательно. А на динамичном ip у клиента выскакивает
> ошибка 10061
С точки зрения глобальной маршрутизации никакой принципиальной разницы между "статичным" и "динамичным" IP-адресом нет.
Если на момент попытки подключения целевой адрес маршрутизируется и целевой порт доступен+активен, попытка подключения должна завершиться успехом.
> можно ли обойти необходимость статичного ip при помощи dyndns?
dyndns не дает гарантии, что целевой хост, IP-адрес которого dyndns-сервер вернул по запросу разрешения имени d адрес, будет доступен на собственно момент попытки подключения по возвращенному полученному адресу.
← →
AdMeen © (2008-12-19 08:29) [2]
> С точки зрения глобальной маршрутизации никакой принципиальной
> разницы между "статичным" и "динамичным" IP-адресом нет.
>
> Если на момент попытки подключения целевой адрес маршрутизируется
> и целевой порт доступен+активен, попытка подключения должна
> завершиться успехом.
Но тем не менее факт остаётся фактом :), на машине со статичным работает,на динамике-нет;Порты пробросил на модеме:(. Что ещё можно сделать?
← →
Сергей М. © (2008-12-19 08:46) [3]
> Порты пробросил на модеме
Это как ?
Излагай подробно все свои действия "с нуля" по попытке организации соединения ..
← →
AdMeen © (2008-12-19 08:56) [4]Вообщем, дело было так...
1) Мопед Zyxel P600RT вроде так
Соеденился с ним по локальному адресу 192.168.1.1 посредством TelNET,зашёл в NAt настройки SUA only(Mapping port) выставил значение от 10001 до 10002 по ip 192.168.1.2(вообщем-то эту процедуру уже проделывал неоднакратно,так что тут проблем не возникло).
Клиент с сервером для проверки взял самые примитивные,вот их настройки(TServerSocket и TClientSocket соответственно)
Active:true
Block mode: bmThreadBlocking
Local Host: 127.0.0.1
Local Port: 10001
-----
Active:true
Block mode:bmBlocking
RemoteHost:(адрес полученный на 2ip.ru)
RemotePort:10001
------
Вот примерно так
← →
Сергей М. © (2008-12-19 09:04) [5]
> TServerSocket
> Local Host: 127.0.0.1
Этот адрес-"заглушка" не имеет ни малейшего отношения к "динамичному ip"
← →
AdMeen © (2008-12-19 09:08) [6]Я понимаю,просто просили написать всё,вот я Вам всё и написал,как я делал
← →
wal © (2008-12-19 09:10) [7]
> AdMeen © (19.12.08 08:56) [4]
Это все на одной машине происходит?
← →
AdMeen © (2008-12-19 09:17) [8]
> TO wal ©
Нет.
← →
wal © (2008-12-19 09:24) [9]На серверном сокете Local Host: 0.0.0.0
← →
Сергей М. © (2008-12-19 09:30) [10]
> написал,как я делал
Не знаю как ты делал, но у TServerSocket нет записываемого свойства LocalHost.
А 127.0.0.1 означает, что сервер может принимать запросы на соединение с ним только с того же хоста, на котором он сам работает.
Это значит, что сетевой интерфейс 192.168.1.2 на хосте, где работает твое сервер-приложение, не существует или недоступен для твоего приложения.
Что говоритipconfig /all
на хосте сервера ?
← →
Slym © (2008-12-19 10:20) [11]адрес полученный на 2ip.ru пингуется ?
← →
Сергей М. © (2008-12-19 10:31) [12]
> Slym © (19.12.08 10:20) [11]
Не обязан он пинговаться, хотя и может.
← →
AdMeen © (2008-12-19 11:40) [13]Всё,спасибо проблему решил.
← →
Anatoly Podgoretsky © (2008-12-19 11:49) [14]> AdMeen (19.12.2008 8:02:00) [0]
Нужен автообновляемый ДНС сопряженый с DHCP
← →
Slym © (2008-12-19 17:08) [15]Сергей М. © (19.12.08 10:31) [12]
это я понимаю, не обязан... но по дефолту то пигуется :) если не волы и мауры... я к ним и подводил афтара
← →
Sairex (2008-12-22 18:23) [16]Ужс... в какой то книжке... по основам работы с ОС прочитал что адресс 127.0.0.* зарезервирован как LocalHost и соотвественно подключение к серваку (без разницы к какому) будет не возможно... если не указать явный IP адресс (по большей части используется динамический... например 83,110,20,44) тачки где находиться сервак...
В кратце 127,0,0,* адресс позволяет использовать клиент-сервер только на 1-ой машине где все и установлено... чтобы подключиться из вне то надо клиенту сказать какой у вашего сервака адрес...
← →
wal-home (2008-12-23 08:42) [17]
> Sairex (22.12.08 18:23) [16]
И что конкретно ужаснуло?
← →
Palladin © (2008-12-23 10:06) [18]
> Sairex (22.12.08 18:23) [16]
И что тут ужасного то?
> чтобы подключиться из вне то надо клиенту сказать какой
> у вашего сервака адрес...
Ну естественно, клиент же не будет на деревню к дедушке письма писать... не понимаю, что тут тебя возмутило...
← →
имя (2009-02-16 06:35) [19]Удалено модератором
← →
имя (2009-03-19 17:54) [20]Удалено модератором
← →
имя (2009-03-19 17:54) [21]Удалено модератором
Страницы: 1 вся ветка
Текущий архив: 2011.05.22;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.009 c