Есть ли способ, которым браузер может создать сокет сервера (привязать порт), чтобы клиент на другом компьютере мог подключиться? - PullRequest
0 голосов
/ 10 июля 2009

Есть ли способ сделать это? Я знаю Java-апплеты, Flash не позволяет этого, как насчет плагинов для браузера? Другие идеи?

Ответы [ 2 ]

3 голосов
/ 10 июля 2009

Теоретически вы можете сделать это в Windows, внедрив подключаемый модуль браузера ActiveX. Однако, даже если вы попросите пользователя установить его, если «сервер браузера» находится за брандмауэром или прокси-сервером, ни один клиент не сможет подключиться к нему. И есть проблема в том, какое DNS-имя используют клиенты, чтобы найти «браузер-сервер»? Скорее всего (если компьютер, на котором запущен браузер, на самом деле не является интернет-хостом), у него не будет записи DNS. Конечно, у каждой машины есть IP-адрес, но с помощью DHCP и т. Д. IP-адреса назначаются случайным образом, поэтому невозможно заранее узнать, каким будет IP-адрес «браузера-сервера».

Если вы пытаетесь создать что-то вроде многопользовательской игры или приложения для чата, лучший способ сделать это - подключить всех клиентов к серверу, и этот сервер будет передавать информацию между клиентами. Затем вы можете реализовать его во Flash или Javascript / Ajax, и никто не должен ничего устанавливать.

1 голос
/ 10 июля 2009

Opera делает именно это в своем браузере: Opera Unite: веб-сервер в веб-браузере .

...