gpt4 book ai didi

sockets - XPCOM 套接字正在关闭。如何让它保持活力?

转载 作者:行者123 更新时间:2023-12-04 16:12:44 27 4
gpt4 key购买 nike

我目前正在开发一个 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,我正在使用 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 很快就会被弃用。

关于sockets - XPCOM 套接字正在关闭。如何让它保持活力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7865164/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com