В настоящее время я разрабатываю надстройку 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);
Я использую Firefox 7, и я создаю дополнение, используя SDK дополнений Firefox.
Любые идеи о том, как сохранитьРозетка жива, для дальнейших чтений?
Спасибо