2016-11-14 73 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」});' 但是結果是一樣的。 –