2016-11-14 77 views
0

我正在寻找一种在FF 49中打开TCP连接的方法 - 当然是插件。此前有可能喜欢的东西(根据其他老问题#1):如果FF打开TCP连接49

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); 
} 

但是好像不工作了,“@ mozilla.org/TCP套接字”似乎不存在了。 有谁知道如何才能打开与当前FF的连接?

回答

1

你可以尝试使用这样的:

let { TCPSocket } = Cu.import("resource://gre/modules/Services.jsm", {}); 

if (TCPSocket) { 
    let tcpSocket = new TCPSocket(location, port, options); 
} 

的Cu = Components.utils;

您使用的方式已在版本43或版本40左右弃用...我不完全确定在哪一个版本中。

+0

试过如下: '函数createTCPSocket(位置,端口,选项){ 设{的TCPSocket} = Cu.import( “资源://gre/modules/Services.jsm”,{}); (TCPSocket)返回新的TCPSocket(位置,端口,选项); } } 功能handleSendClick(状态){ \t设插座= createTCPSocket( “127.0.0.1”,4000); \t \t socket.send(“HELLO”); }' 但是,我收到一个错误nsresult 0x80004005在发送线。 –

+0

您是否尝试将选项参数初始化为createTCPSocket函数(arrayBuffer或string)。在这种情况下,它应该是字符串。 – ilianiliev

+0

我试过了: 'let socket = createTCPSocket(“127.0.0.1”,4000,{binaryType:“string”});' 但是结果是一样的。 –