我需要在我的 Firefox 扩展中连接到远程服务器(侦听端口 9442)。我正在使用nsISocketTransportService
,我的问题是如何收听dataAvailable
事件?我搜索了 mozilla 文档,但可以找到任何有用的东西。我的问题是当我使用连接到远程服务器时如何收听数据nsISocketTransportService.createTransport()
?有没有其他方法可以连接到远程 TCP 服务器?
var socket = Components.classes["@mozilla.org/network/socket-transport-service;1"]
.getService(Components.interfaces.nsISocketTransportService)
.createTransport(null, 0, host, port, null);
var poolOutputStream = socket.openOutputStream(0, 0, 0);
var helloMessage = JSON.stringify({type: 'hello', clientID: currentClientID});
poolOutputStream.write(helloMessage, helloMessage.length);
var poolRawInputStream = socket.openInputStream(0, 0, 0);
var poolInputStream = Components.classes ["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream)
.init(poolRawInputStream);