2010-08-01 1 views
1

им интересно, можно ли создать приложение чата p2p без сервера (так что нет необходимости во внешнем статическом ip.Is это правда?)?Одноранговый чат

ответ

2

EddieC прав, если компьютеры находятся внутри одной и той же подсети (LAN), или если computer'ip является их интерфейсом к Интернету (общедоступный IP-адрес WAN). В этом случае вы можете напрямую использовать ip и порты.

Однако, как правило, знание компьютеров ip недостаточно, потому что машины расположены за маршрутизаторами внутри подсетей. Таким образом, поскольку компьютеры скрыты за маршрутизаторами, вам нужно будет настроить маршрутизаторы, чтобы передать пакеты на нужные компьютеры в качестве функции используемых портов.

Посмотрите: http://wiki.vuze.com/w/Port_forwarding

Если вы не хотите использовать IP-адреса, потому что они являются динамическими, вы можете настроить URLs с Dynamic DNS services.

Успехов

2

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

+0

Так, например, ваш друг должен слушать этот ip, и вы должны отправить карманы на свой ip? – user380798

+0

Да, это общая идея. Вы отправляете пакеты в свой ip. Из этого он узнает ваш IP-адрес и сможет отправить его обратно. Джонал прав, вам, вероятно, придется иметь дело с пересылкой портов. С этим приходится иметь дело только потому, что у вас нет статического IP-адреса и вы не хотите использовать выделенный сервер где-нибудь. – EddieC

+0

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

1

Если эта программа имеет только работать в локальной сети (LAN), есть нечто, называемое broadcasting, которые могут представлять интерес для Вас. Он позволяет отправлять пакеты всем устройствам в сети, не зная их IP-адреса (тогда другие экземпляры вашей программы могли бы ответить IP-адресом своих компьютеров, чтобы вы могли настроить правильные подключения).

Это не будет работать через Интернет, хотя (представьте, что вы можете транслировать на каждый компьютер, подключенный к Интернету!).