2

尝试在我的使用 WebRTC 在内联网(JSF 和 JBoss)上运行的 Web 应用程序中开发或提供视频通话设施。

现在,我有几个简单的问题:使用 webRTC 需要在服务器上托管任何类型的应用程序代码。我是否能够在不使用任何类型的服务器的情况下开发应用程序。湾。Intranet 上的用户和 Internet 上的用户是否会使用此 WebRTC 进行通信。C。如果该过程中的任何地方都没有涉及服务器,那么我将如何通知另一个用户他需要访问此 URL 才能与我通信。

任何人都可以请阐明这些让我开始..我有点困惑。已经浏览了各种文档和链接,但仍然有点困惑......

4

3 回答 3

3

如果您已经使用 JBoss,我建议您查看 Mobicents SIP Servlets(它在 JBoss 7 上运行)和 WebRTC 演示应用程序https://code.google.com/p/sipservlets/wiki/HTML5WebRTCVideoApplication

SIP 中使用的信令并通过服务器,而媒体是点对点的

于 2013-10-14T08:50:01.167 回答
2

每个 WebRTC 应用程序都需要一个信令服务来使对等点能够交换媒体和网络元数据。

为了应对 NAT 和防火墙,WebRTC 应用程序可以使用 STUN 和 TURN 服务器,但对于 Intranet,您可能不需要它。

我维护了一个WebRTC 资源列表,其中包含指向教程和代码示例的链接。

于 2013-10-03T13:55:20.037 回答
2

A. 是的,您需要服务器端功能。什么服务器以及如何操作取决于您。(例如,您可以使用 node.js 和 websockets)下面的代码给出了服务器应该能够处理的功能示例

var mess = JSON.parse(message.utf8Data);
switch(mess.type){
    case "answer":
        allClients.forEach(function (client){
           //Locate the correct client and send the answer to it
        });
        break;
    case "offer":
        allClients.forEach(function (client){
            //Locate the correct client and send the offer to it   
        });
        break;
    case "candidate":
        allClients.forEach(function (client){
            //Locate the correct candidate and send the candidate to it
        });
        break;
}

B. 是的。但我确信有防火墙设置可能会带来麻烦。无论如何,webRTC 使用 ICE 在许多此类情况下提供帮助。您将看到它产生了许多“候选”消息,其中包含有助于建立对等连接的信息。实际上,由您的服务器将这些候选消息中继给对等方。

C. 嗯,涉及到一个服务器......

于 2013-10-03T08:39:53.500 回答