Можно ли создать расширение для браузера, позволяющее принимать входящие запросы? - PullRequest
4 голосов
/ 17 октября 2011

Я ищу способ сделать входящий запрос в браузер. Установка расширения в браузере в порядке. Цель этого - позволить другому компьютеру подключиться к расширению для управления игрой без использования промежуточного сервера.

Это возможно? Можно ли сделать так, чтобы расширение Chrome или Firefox открывало порт для входящего запроса?

1 Ответ

2 голосов
/ 17 октября 2011

То, что вы запрашиваете, это серверные сокеты. Для Chrome ответ «нет», расширения Chrome могут открывать только клиентские подключения. С другой стороны, расширения Firefox могут использовать nsIServerSocket интерфейс для прослушивания входящих TCP-соединений через порт. Если вы используете Add-on SDK , вам нужно будет использовать chrome пакет . Примерно так:

var {Cc, Ci} = require("chrome");
var socket = Cc["@mozilla.org/network/server-socket;1"]
               .createInstance(Ci.nsIServerSocket);
socket.init(12345, false, -1);
socket.asyncListen({
  onSocketAccepted: function(socket, transport)
  {
    ...
  },
  onStopListening: function(socket, status)
  {
  }
});
...