PSD
Главный специалист
Offline
Пол:
|
|
« : 30-01-2004 06:59 » |
|
Хочу разаобраться с методавми навигазии в инет ... На данный момент интересует вопрос каким образом можно организовать и можно ли прямой обмен данными между двумя пользователями.
оформлю это ввиде задачи ... Хочу написать программу которая позволит играть посети в шахматы ... вариант для локальной сети у меня уже есть вводится IP или имя машины открываем сокет и вперед ... Теперь хочу ее переделать чтобы можно было играть через инет...
Столкнулся с проблемой как установить связь между двумя пользователями? IP постоянно меняются , имена хостов вообще не используются.... Как?
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #1 : 30-01-2004 07:08 » |
|
PSD, я никогда таое не разрабатывал, но задумывался об этом.. мои варианты: 1. создавать сервер в нете, где был бы список доступных игроков 2. если это через сотовый телефон - можно ip посылать через смс(номер телефона ведь известен)
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #2 : 30-01-2004 07:40 » |
|
С сервером в инете это тревиально.... Хочу без него веть Donkey както цепляется ...
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #3 : 30-01-2004 11:28 » |
|
ну тогда p2p соединения
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #4 : 30-01-2004 13:01 » |
|
Логично ... а где про это можно почитать? Я так понимаю это тоже винсокеты?
Мне инетересен сам механизм как две машины на диалапе с динамическим IP могут найти друг друга в сети ?
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #5 : 30-01-2004 13:08 » |
|
это просто "алгоритм соединения\подключения" на сколько я понимаю это когда клиент и сервер в одном приложении - наврное не принципиально посредством чего реализовывать например, ICQ - это клиент а Odigo - клиент/сервер где почитать пока не знаю - не интересовался сильно
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
Антон (LogRus)
|
|
« Ответ #6 : 30-01-2004 13:49 » |
|
Sommer, ICQ и Odigo всё равно используют центральный сервер.
|
|
|
Записан
|
Странно всё это....
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #7 : 04-02-2004 05:23 » |
|
Это в принципе возможно?
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Антон (LogRus)
|
|
« Ответ #8 : 05-02-2004 10:03 » |
|
PSD, посмотри в Разработке. Слышал там что-то такое прорабатывают.
|
|
|
Записан
|
Странно всё это....
|
|
|
RXL
|
|
« Ответ #9 : 05-02-2004 13:25 » |
|
PSD, дело не такое сложное. Т.к. пользователи постоянно перемещаются (меняют ip, отключаются от сети и т.п) нужен некий сервер-координатор. Пользователь, подключаясь к нему, оставляет на нем свой данные (напр. ip:tcp и некий идентификатор пользователя). Другой пользователь, зайдя на сервер, может получить оттуда информацию о первом пользователе и подключиться к нему напрямую. Но, если пользователь находится за файрволом, то возможно что к нему снаружи подключиться нельзя - в этом случае возможны только исходящие от него соединения. Если за файрволом оба пользователя, то они могут вообще не соединиться.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Anonymous
Гость
|
|
« Ответ #10 : 06-02-2004 06:54 » |
|
Есть замечательный сервер http://www.no-ip.com/ он какбы делает ДНС запись о вашем компьютере и изменяет ее автоматом каждый раз когда меняется ИП. а дальше преобразовываешь адрес в ИП и соеденяешься.
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #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
Главный специалист
Offline
Пол:
|
|
« Ответ #13 : 09-02-2004 06:36 » |
|
Посмотрел тему под моей ...... а как интернет отностися к рассылке широко вешательных пакетов UDP? В корпоративной сети у нас работала программа которая искала клиентов расылая широковещательные UDP а клиенты получив изних ip конектились к серверу .... В инет такое прокатит?
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #14 : 09-02-2004 06:51 » |
|
думаю нет.... иначе нас наверное уже давно бы задосили
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #16 : 09-02-2004 10:01 » |
|
RXL, получается что не зарегистрированные пользователи не смогут зарегистрироваться - не найдут сервер(если у него динамическое ip)...
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
RXL
|
|
« Ответ #17 : 09-02-2004 10:46 » |
|
Sommer, это ты по поводу multicast? Там принцип иной - нет кординационного центра. Ты можешь создать группу, подключиться к группе. Объединяющий ресурс - IP в специальном диапазоне. Главное - это поддержка multicast роутерами и конечными машинами, а так же политика файрволов. Главная особенность multicast - данные идут _только_в_одну_сторону_: один посылает, много принимает Об этом лучше почитать в литературе, а то я тут чего-нибудь напутаю - на практике ни разу не попробовал вот и забываю постоянно.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #18 : 09-02-2004 11:10 » |
|
RXL, да, я о multicast ты меня немножечко не понял
я хотел сказать, что в данном случае все равно не обойтися без 3-его лица(сервера), т.к. нового пользователя тоже кто-то должен вносить в группу... если это приложение многопользовательское и заранее ничего не известно о пользователях
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
RXL
|
|
« Ответ #19 : 09-02-2004 11:52 » |
|
В группу он себя включает сам. Заранее должно быть известено IP группы, протокол и порт. Прицнип функционирования в общих словах (как я это понял): Регистрация - это посылка igmp сообщения - оповещение о готовности принимать multicast пакеты по указанному адресу. Роутер, получив такое сообщение, регистрит IP и MAC в своей базе multicast роутинга (создает спец. маршрут), а потом сообщает то же самое на другие интерфейсы. В теории, вот так, по цепочке, сообщение (точнее его копии) обойдет весь инет и любой роутер будет знать куда доставлять пакет, а если в сети на одном из интерфейсов роутера есть зарегистрированные хосты, то он пошлет каждому копию (или одно в режиме ethernet multicast).
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #20 : 09-02-2004 13:24 » |
|
Так, так ... вот это уже ближе к телу .....
Я не очень силен в англиском поправте если я что не так понял в рфс
1)На сколько распространены сервера с поддержкой мультикаст ? те не умирающий ли это протокол?
2) Для начала вещания не нужно ничего просто открываем порт и вперед ?
3) Если мой ближайший роутер ничего не знает о жилающих принимать от меня пакеты .... то ни один пакет не будет им ретранслирован в сеть? Так? 4) Для изявление желания получать мои пакеты всеравно нужно знать мой IP. Так?
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
RXL
|
|
« Ответ #21 : 09-02-2004 14:08 » |
|
4) Не твой IP, а группы. Это IP из класса D (224..239). Там тоже есть фиксированные и свободные для изпользования адреса.
3) Точно не помню.
2) Примерно так, но _точно_ не знаю - не далал. Лучше сверься с RFC.
1) Если ОС поддерживает (уважающая себя ОС имеет эту фичу) и ф-ия принудительно не запрещена/удалена, то работать должно. Попробуй поискать в сети, какой софт использует multicast - на примерах лучше понять ценность.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
PSD
Главный специалист
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, в смысле не технические а юридические ...
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
|
|