4
我正在尋找一種方法來傳入請求到瀏覽器。在瀏覽器中安裝擴展即可。這樣做的目標是允許另一臺機器連接到擴展程序來控制遊戲,而不需要中間服務器。是否可以創建瀏覽器擴展來允許傳入請求?
這可行嗎?是否可以讓Chrome或Firefox擴展程序打開端口以允許傳入請求?
我正在尋找一種方法來傳入請求到瀏覽器。在瀏覽器中安裝擴展即可。這樣做的目標是允許另一臺機器連接到擴展程序來控制遊戲,而不需要中間服務器。是否可以創建瀏覽器擴展來允許傳入請求?
這可行嗎?是否可以讓Chrome或Firefox擴展程序打開端口以允許傳入請求?
你要求的是服務器插座。對於Chrome,答案是「否」,Chrome擴展程序只能打開客戶端連接。另一方面,Firefox擴展可以使用nsIServerSocket
interface偵聽端口上的傳入TCP連接。如果您使用Add-on SDK,則需要使用chrome
package。類似這樣的:
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)
{
}
});