Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Прямое соединение через инет....  (Прочитано 23616 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« : 30-01-2004 06:59 » 

Хочу разаобраться с методавми  навигазии в инет ...
На данный момент интересует вопрос каким образом  можно организовать и можно ли  прямой обмен данными между двумя пользователями.

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

Столкнулся с проблемой как установить связь между двумя пользователями? IP постоянно меняются ,  имена хостов вообще не используются.... Как?
Записан

Да да нет нет все остальное от лукавого.
Sommer
Молодой специалист

us
Offline Offline

« Ответ #1 : 30-01-2004 07:08 » 

PSD,
я никогда таое не разрабатывал, но задумывался об этом..
мои варианты:
1. создавать сервер в нете, где был бы список доступных игроков
2. если это через сотовый телефон - можно ip посылать через смс(номер телефона ведь известен)
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 30-01-2004 07:40 » 

С сервером в инете это тревиально....
Хочу без него веть Donkey както цепляется ...
Записан

Да да нет нет все остальное от лукавого.
Sommer
Молодой специалист

us
Offline Offline

« Ответ #3 : 30-01-2004 11:28 » 

ну тогда p2p соединения
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 30-01-2004 13:01 » 

Логично ... а где про это можно почитать? Я так понимаю это тоже винсокеты?

Мне инетересен сам механизм как две машины на диалапе с динамическим IP могут найти друг друга в сети ?
Записан

Да да нет нет все остальное от лукавого.
Sommer
Молодой специалист

us
Offline Offline

« Ответ #5 : 30-01-2004 13:08 » 

это просто "алгоритм соединения\подключения" на сколько я понимаю
это когда клиент и сервер в одном приложении - наврное не принципиально посредством чего реализовывать
например, ICQ - это клиент
а Odigo - клиент/сервер
где почитать пока не знаю - не интересовался сильно
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #6 : 30-01-2004 13:49 » 

Sommer, ICQ и Odigo всё равно используют центральный сервер.
Записан

Странно всё это....
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 04-02-2004 05:23 » 

Это в принципе возможно?
Записан

Да да нет нет все остальное от лукавого.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #8 : 05-02-2004 10:03 » 

PSD, посмотри в Разработке. Слышал там что-то такое прорабатывают.
Записан

Странно всё это....
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 05-02-2004 13:25 » 

PSD, дело не такое сложное.
Т.к. пользователи постоянно перемещаются (меняют ip, отключаются от сети и т.п) нужен некий сервер-координатор. Пользователь, подключаясь к нему, оставляет на нем свой данные (напр. ip:tcp и некий идентификатор пользователя). Другой пользователь, зайдя на сервер, может получить оттуда информацию о первом пользователе и подключиться к нему напрямую. Но, если пользователь находится за файрволом, то возможно что к нему снаружи подключиться нельзя - в этом случае возможны только исходящие от него соединения. Если за файрволом оба пользователя, то они могут вообще не соединиться.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Anonymous
Гость
« Ответ #10 : 06-02-2004 06:54 » 

Есть замечательный сервер http://www.no-ip.com/ он какбы делает ДНС запись о вашем компьютере и изменяет ее автоматом каждый раз когда меняется ИП. а дальше преобразовываешь адрес в ИП  и соеденяешься.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 06-02-2004 08:25 » 

Гость, это конечно замечательно, но что же - всем получить свой DNS? А dial-up пользователям как быть? no-ip годится только для http и подобных протоколов, основанных на коротких ссесиях.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
roboter
Гость
« Ответ #12 : 06-02-2004 08:41 » 

Я понял задачу так. Надо соеденить 2 компа между собой и оба с динамическим ИП. Значит надо каким либо образом передать ИП через 3 комп.
К примеру можно зарегестрировать аккаунт на ностинге и написать скрипт который будет обновлять список ИП адресов.  no-ip именно это и делает тоесть обнавляет каждый раз свою базу при смене ИП. Дальше получаешь ИП и с ним коннектишься ЛЮБЫМ протоколом. Невижу разницы мажду короткими и длинными протоколами. Если неверишь есть такая программа P2P DC++ так там полно серверов которые через no-ip коннектятся и никто нежалуется.
Записан
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 09-02-2004 06:36 » 

Посмотрел тему под моей ...... а как интернет отностися к рассылке широко вешательных пакетов UDP?
В корпоративной сети у нас работала программа которая искала клиентов расылая широковещательные UDP  а клиенты получив изних ip конектились к серверу ....
В инет такое прокатит?
Записан

Да да нет нет все остальное от лукавого.
Sommer
Молодой специалист

us
Offline Offline

« Ответ #14 : 09-02-2004 06:51 » 

думаю нет....
иначе нас наверное уже давно бы задосили
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 09-02-2004 09:38 » 

PSD, широковещательные пакеты (broadcast) за пределы одной IP сети не уходят - роутеры их не пропускают. Их аналог для глобальных сетей - multicast рассылка. Multicast возможна только для датаграмных протоколов (напр. тот же UDP). Принцип простой: один посылает, а все зарегистрированные получают копию пакета. Все роутеры, на маршруте следования пакета, должны работать с multicast.
Подробнее - в RFC:
http://www.incoma.ru/rfc/rfc966.txt
http://www.incoma.ru/rfc/rfc988.txt
http://www.incoma.ru/rfc/rfc1054.txt
http://www.incoma.ru/rfc/rfc1112.txt
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sommer
Молодой специалист

us
Offline Offline

« Ответ #16 : 09-02-2004 10:01 » 

RXL, получается что не зарегистрированные пользователи не смогут зарегистрироваться - не найдут сервер(если у него динамическое ip)...
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 09-02-2004 10:46 » 

Sommer, это ты по поводу multicast? Там принцип иной - нет кординационного центра. Ты можешь создать группу, подключиться к группе. Объединяющий ресурс - IP в специальном диапазоне. Главное - это поддержка multicast роутерами и конечными машинами, а так же политика файрволов.
Главная особенность multicast - данные идут _только_в_одну_сторону_: один посылает, много принимает Ага

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

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sommer
Молодой специалист

us
Offline Offline

« Ответ #18 : 09-02-2004 11:10 » 

RXL, да, я о multicast
ты меня немножечко не понял

я хотел сказать, что в данном случае все равно не обойтися без 3-его лица(сервера), т.к. нового пользователя тоже кто-то должен вносить в группу... если это приложение многопользовательское и заранее ничего не известно о пользователях
Записан

когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины.
но тогда меня уже не будет
в этом городе
forever yours.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #19 : 09-02-2004 11:52 » 

В группу он себя включает сам. Заранее должно быть известено IP группы, протокол и порт.
Прицнип функционирования в общих словах (как я это понял):
Регистрация - это посылка igmp сообщения - оповещение о готовности принимать multicast пакеты по указанному адресу. Роутер, получив такое сообщение, регистрит IP и MAC в своей базе multicast роутинга (создает спец. маршрут), а потом сообщает то же самое на другие интерфейсы. В теории, вот так, по цепочке, сообщение (точнее его копии) обойдет весь инет и любой роутер будет знать куда доставлять пакет, а если в сети на одном из интерфейсов роутера есть зарегистрированные хосты, то он пошлет каждому копию (или одно в режиме ethernet multicast).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #20 : 09-02-2004 13:24 » 

Так, так ... вот это уже ближе к телу .....

Я не очень силен в англиском  поправте если я что не так понял в рфс

1)На сколько распространены сервера с поддержкой мультикаст ?
те не умирающий ли это протокол?

2) Для начала вещания не нужно ничего просто открываем порт и вперед ?

3) Если мой ближайший роутер ничего не знает о жилающих принимать  от меня пакеты .... то ни один пакет не будет им  ретранслирован в сеть? Так?
4) Для изявление желания получать мои пакеты всеравно нужно знать мой IP. Так?
Записан

Да да нет нет все остальное от лукавого.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #21 : 09-02-2004 14:08 » 

4) Не твой IP, а группы. Это IP из класса D (224..239). Там тоже есть фиксированные и свободные для изпользования адреса.

3) Точно не помню.

2) Примерно так, но _точно_ не знаю - не далал. Лучше сверься с RFC.

1) Если ОС поддерживает (уважающая себя ОС имеет эту фичу) и ф-ия принудительно не запрещена/удалена, то работать должно.
Попробуй поискать в сети, какой софт использует multicast - на примерах лучше понять ценность.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
PSD
Главный специалист

ru
Offline Offline
Пол: Мужской

« Ответ #22 : 10-02-2004 06:07 » 

Цитата

4) Не твой IP, а группы. Это IP из класса D (224..239). Там тоже есть фиксированные и свободные для изпользования адреса.

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

Заманчиво .....

Осталось не понятно две вещи
Первое  как организуется вещание  те как мне обяснить машине что я хочу отправить мульти каст пакет  в группу 224.65.1.239  если мой IP 192.168.42.100 Не понял?
Второе каковы правила создания группы и соотвествено занятие IP, в смысле не технические а юридические ...
Записан

Да да нет нет все остальное от лукавого.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #23 : 10-02-2004 12:38 » new

Посмотри - тут - чего то объясняют:
http://ldp.linux.by/linuxfocus/Russian/January2001/article144.shtml
Под win, возможно, эти примеры надо модифицировать с учетом winsock.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines