Dou*_*eri 6 sockets firefox xpcom firefox-addon firefox-addon-sdk
我目前正在开发一个firefox附加组件,它是一个使用TCP套接字连接到服务器的客户端.
在我的小测试中一切正常,客户端(ff附加组件)连接到服务器(在java中设计)并发送消息,但之后firefox正在关闭套接字.
我知道我的代码在服务器端不是问题,因为我可以与其他客户端(用java和C++设计)连接,并且它们永远不会关闭连接.
我认为问题是firefox在没有引用它之后销毁套接字对象,因此关闭连接.
无论如何这里是我的代码:
const {Cc,Ci} = require("chrome");
var host="192.168.1.100";
var port=9001;
var transport = Components.classes["@mozilla.org/network/socket-transport-service;1"]
.getService(Components.interfaces.nsISocketTransportService)
.createTransport(null, 0, host, port, null);
var inputStream = transport.openInputStream(0, 0, 0);
var inputInterface = Components.classes["@mozilla.org/binaryinputstream;1"].createInstance(Components.interfaces.nsIBinaryInputStream);
inputInterface.setInputStream(inputStream);
var outputStream = transport.openOutputStream(0, 0, 0);
var outputInterface = Components.classes["@mozilla.org/binaryoutputstream;1"].createInstance(Components.interfaces.nsIBinaryOutputStream);
outputInterface.setOutputStream(outputStream);
var msg="some message";
outputInterface.writeUtf8Z(msg);
Run Code Online (Sandbox Code Playgroud)
我正在使用firefox 7,我正在使用firefox附加组件SDK构建附加组件.
关于如何保持套接字存活的任何想法,以获得进一步的读数?
谢谢
您是否需要使用 [1] WebRTC构建新的实现,或者使用 [2] ctypes构建您自己的本机库。
[1] https://developer.mozilla.org/en-US/docs/Web/Guide/API/WebRTC
[2] https://developer.mozilla.org/en-US/docs/Mozilla/js-ctypes
XPCOM和NPAPI很快就会被弃用。
归档时间: |
|
查看次数: |
711 次 |
最近记录: |