JavaScript - Возможно ли взаимодействие двух пользовательских агентов без взаимодействия с сервером? - PullRequest
0 голосов
/ 19 апреля 2011

Сеть построена на идее взаимодействия пользовательских агентов с серверами. Однако мне интересно, есть ли какой-нибудь способ (возможно, веб-сокеты?), Чтобы два пользовательских агента (однажды представленные сервером) могли напрямую общаться друг с другом.

Возможно ли это? Какие существуют проблемы?

Пользовательские агенты часто размещаются за брандмауэрами, поэтому я ожидаю, что основная проблема заключается в том, что незапрошенный трафик от пользовательского агента A к пользовательскому агенту B будет заблокирован, поскольку пользовательский агент B не сделал этого. не делайте никаких запросов к А.

Ответы [ 3 ]

1 голос
/ 20 апреля 2011

Невозможно с JavaScript (пока).

Альтернативы:

  • Adobe Cirrus - он использует сервер Adobe для рандеву, после чего связь запускается по протоколу p2p;только для некоммерческого использования, для коммерческого использования с LCCS
  • Java - вы можете создать прослушивающий сокет (например, эмулирующий HTTP для AJAX) на одном из клиентов;недостатки: требуется общедоступный IP-адрес + порт, первый клиент должен знать IP-адрес для подключения, поэтому ему также необходим центральный сервер для такого рода информации, клиент с ролью сервера должен предоставить специальные привилегии для открытия сокета
0 голосов
/ 20 апреля 2011

Обсуждение того, будет ли эта функция html5 наконец реализована в современных веб-браузерах, и какие будут ограничения по этому поводу.

Однако, даже если это будет реализовано, возникнет много связанных с этим проблем. Самое важное то, что вы не знаете подробностей о сети клиента, обращающегося к вашей странице.

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

Таким образом, на практике это будет трудно осуществить в реальной жизни, даже если это будет реализовано.

...