我正在尝试创建一个使用TcpSocket进行通信的Firefox插件。我已经成功地通过以下代码使用tcp发送了消息:
var tcpSocket = Cc["@mozilla.org/tcp-socket;1"].createInstance(Ci.nsIDOMTCPSocket);
var socket = tcpSocket.open("127.0.0.1", 3000);
socket.onopen = function() {
socket.send(sendText);
}
这很完美。
现在,我想要接收tcp消息。我正在使用以下代码(基于MDN的TCP Socket文章)
var tcpSocket = Cc["@mozilla.org/tcp-socket;1"].createInstance(Ci.nsIDOMTCPSocket);
var socket = tcpSocket.listen(3000);
socket.ondata = function (event) {
console.log(event);
};
但它记录了以下错误(在运行
cfx run
的命令提示符中):console.error: my-addon:
Object
- message = Cannot modify properties of a WrappedNative
- fileName = undefined
- lineNumber = 6
...
而且,我可以说这个端口至少是活动的,因为如果我忽略错误并尝试向该端口发送tcp消息,控制台会记录以下内容:
Received unexpected connection!
我有点不理解这里是否有什么遗漏?提前感谢您。