尝试使用WebRTC在Intranet(JSF和JBoss)上运行的Web应用程序内开发或提供视频通话工具。
现在,我有几个简单的问题: 一个。使用webRTC是否需要在服务器上托管任何类型的应用程序代码。我是否可以在不使用任何类型的服务器的情况下开发应用程序。 湾Intranet上的用户和Internet上的用户是否会使用此WebRTC进行通信。 C。如果流程中的任何地方都没有涉及服务器,那么我如何通知另一个用户他需要访问此URL以便与我沟通。
任何人都可以请一些关于这些的事情让我开始..我有点困惑。已经通过各种文件和链接,但仍然有点困惑......
答案 0 :(得分:3)
如果您已经使用JBoss,我建议您查看Mobicents SIP Servlets(它在JBoss 7上运行)和WebRTC演示应用程序https://code.google.com/p/sipservlets/wiki/HTML5WebRTCVideoApplication
SIP中使用的信令,当媒体是对等的时候通过服务器
答案 1 :(得分:2)
一个。是的,您需要服务器端功能。什么服务器以及如何做到这一点取决于您。 (例如,你可以使用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来帮助许多这样的情况。您将看到它产生了很多“候选”消息,其中包含有助于建立对等连接的信息。实际上,您的服务器可以将这些候选消息转发给对等方。
℃。好吧,有一台服务器......
答案 2 :(得分:2)
每个WebRTC应用程序都需要一个信令服务,以使对等方能够交换媒体和网络元数据。
为了应对NAT和防火墙,WebRTC应用程序可以使用STUN和TURN服务器,但您可能不需要内联网。
我维护了一个WebRTC resources列表,其中包含指向教程和代码示例的链接。