Можно ли создать расширение для браузера, чтобы разрешить входящие запросы?

#google-chrome #google-chrome-extension #push-notification #firefox-addon #dom-events

#google-chrome #google-chrome-extension #push-уведомление #firefox-аддон #dom-события

Вопрос:

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

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

Ответ №1:

То, что вы запрашиваете, — это сокеты сервера. Для Chrome ответ «нет», расширения Chrome могут открывать только клиентские подключения. Расширения Firefox, с другой стороны, могут использовать nsIServerSocket интерфейс для прослушивания входящих TCP-соединений на порту. Если вы используете дополнительный 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)
  {
  }
});