Server <-> [Provider 1 - Inet - Provider 2] <->

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Server <-> [Provider 1 - Inet - Provider 2] <->

Сообщение BION » 13.03.2008 (Чт) 12:21

Вопрос вот в чем... Схема:
Server <-> [Provider 1 - Inet - Provider 2] <-> Client
т.е. Сервер с нестатичным IP работает через провайдера(хотя возможно будет и инет сервер со стат. IP), и клиент простой комп имеющий выход через простого провайдера.

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

Взять допустим peer-to-peer по децентрализованной схеме, т.е. фактически сервера нет, и если даже есть, один клиент устанавливает связь с други, по какому маршруту(адресу)?

Буду благодарен за помощь.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 13.03.2008 (Чт) 14:21

Нужно завести постоянный адрес в инете, где сервер и клиент могли бы оставлять свои текущие адреса.
Лучший способ понять что-то самому — объяснить это другому.

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Сообщение BION » 13.03.2008 (Чт) 14:35

Antonariy писал(а):Нужно завести постоянный адрес в инете, где сервер и клиент могли бы оставлять свои текущие адреса.

В том то и воапрос, какой адрес?
Вот допустим мой комп, он подключен к внутренней сети провайдера и имеет внутресетевой IP который не доступен из внешки, а его запрсы отправляются через IP провайдера
Код: Выделить всё
myIP
10.120...
       \
         ProviderIP <=> WEB
       /
otherIP

а другие мой компы вообще выходят в инет через GPRS билайна, каждый раз IP меняется + и во внешке также не доступен.
Последний раз редактировалось BION 13.03.2008 (Чт) 14:47, всего редактировалось 1 раз.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 13.03.2008 (Чт) 14:46

в таком варианте твой сервер никогда не будет доступен извне.
договаривайся со своим провайдером.

PS
возможно ты не до конца понимаешь , но скорее всего ты соединяешься с инетом (через своего локального провайдера) посредством VPN-соединения. после соединения с оборудованием провайдера тебе выдается некий внешний IP-адрес (статичный или динамический, это нужно узнавать у провайдера), который можно посмотреть в свойствах данного VPN-соединения. вот этот IP видят снаружи все. теперь тебе достаточно открыть доступ к портам своего сервера , через которые он будет работать (файрвол, разрешение у провайдера если необходимо, настройки твоего сервера IIS или тп).

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Сообщение BION » 13.03.2008 (Чт) 14:53

Konst_One писал(а):в таком варианте твой сервер никогда не будет доступен извне.
договаривайся со своим провайдером.

PS
возможно ты не до конца понимаешь , но скорее всего ты соединяешься с инетом (через своего локального провайдера) посредством VPN-соединения. после соединения с оборудованием провайдера тебе выдается некий внешний IP-адрес (статичный или динамический, это нужно узнавать у провайдера), который можно посмотреть в свойствах данного VPN-соединения. вот этот IP видят снаружи все. теперь тебе достаточно открыть доступ к портам своего сервера , через которые он будет работать (файрвол, разрешение у провайдера если необходимо, настройки твоего сервера IIS или тп).


Ну хорошо, допустим оставить в покое мой внутресетевой IP и рассмотреть клиентские машины. Они как я уже писал выходят через GPRS. Тут как дело может обстоять?
А ICQ как получает ответ от собеседника?
Или без постоянного TCP не обойтись? Если так, то насколько это безопасно для целостности передаваемых данных?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 13.03.2008 (Чт) 15:13

ICQ - это отдельная история, сюда не надо его примешивать.

в твоем случае или постоянный IP или промежуточный сервер в интернете, через который все сессии контролируются.

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Сообщение BION » 13.03.2008 (Чт) 15:26

Konst_One писал(а):... или промежуточный сервер в интернете, через который все сессии контролируются.


т.е. хочешь сказать, что без постоянного TCP соединения никак не обойтись?
Просто не хотелось бы его постоянно держать, т.к. команды будут редкими, но при её отправке необходима скорейшая реакция клиентской машины.
Периодические запросы от клиента на предмет новых команд, тоже отметаются, т.к. долго ждать + затраты на лишний трафик - не допустимы.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 13.03.2008 (Чт) 16:11

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

BION
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 259
Зарегистрирован: 24.01.2005 (Пн) 21:05

Сообщение BION » 13.03.2008 (Чт) 16:52

Большое спасибо, будем грызть гранит!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

    TopList