簡體   English   中英

需要的想法。 Javascript + XPCOM + C ++插件

[英]Ideas needed. Javascript+XPCOM+C++ add-on

因此,Firefox中有一個WebRTC,有一個方便的類可以實現RTC通信,稱為RTCPeerConnection,可以從JavaScript應用程序實例化和使用。 你可以在[1]上找到一些不錯的例子。 我在這里使用自定義傳輸(如果您感興趣 - [2] )希望將其用於RTC通信。 簡而言之,我需要通過自定義傳輸“替換”WebRTC引擎的傳輸層,同時為用戶提供相同的類似RTCPeerConnection的JavaScript接口。 並且最好,它看起來不應該像Firefox的自定義版本(沒有補丁)。 所以我想出了擴展的想法,它將用C ++編寫(因為它需要與WebRTC庫和我的自定義傳輸庫鏈接),並以某種方式將其接口暴露給Javascript。 而且我發現了XPCOM,正如我想的那樣,可以為我提供這個。 因此,我已經開始與這個主題的過時和解析信息作斗爭,經過3天的努力終於最終建成了附加組件。 不幸的是,我無法從Javascript訪問它,因為Javascript的“Components.classes未定義”錯誤。 似乎根本無法訪問它。 或者我錯了?

這是Javascript:

function check()
{
console.debug("checking...");   

const {Cc,Ci,Cu} = require("chrome");
var rtc = Components.classes["@named-data.net/ndnrtc;1"].createInstance();
rtc = rtc.QueryInterface(Ci.ndINrtc);   

console.debug("rtc: "+rtc);
}

使用XPCOM Viewer插件可以看到我的組件上面的代碼可以在控制台中執行 ,而在Firefox中打開空白頁面

考慮到這一切,我想問一下Firefox專家,我可以采取哪些方法來實現我的想法。 先感謝您

1 https://apprtc.appspot.com/

2 http://named-data.net

最后,我已經找到了一個可能的解決方案,並在我的帖子中描述它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM