首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我们需要在WebRTC中进行会话吗?

我们需要在WebRTC中进行会话吗?
EN

Stack Overflow用户
提问于 2017-02-22 22:59:34
回答 1查看 528关注 0票数 1

我正在创建一个用于学习目的的示例项目(稍后我将使用基于webrtc和Kurento的项目),我正在使用kurento媒体服务器,我已经修改了kurento服务器的教程,并从中做了一个示例。

在Kurento的所有示例中,它们使用UserRegistry.java存储UserSession对象,如下所示:

代码语言:javascript
运行
AI代码解释
复制
public class UserSession {

  private static final Logger log = LoggerFactory.getLogger(UserSession.class);

  private final String name;
  private final WebSocketSession session;

  private String sdpOffer;
  private String callingTo;
  private String callingFrom;
  private WebRtcEndpoint webRtcEndpoint;
  private WebRtcEndpoint playingWebRtcEndpoint;
  private final List<IceCandidate> candidateList = new ArrayList<>();

  public UserSession(WebSocketSession session, String name) {
    this.session = session;
    this.name = name;
  }

  public void sendMessage(JsonObject message) throws IOException {
    log.debug("Sending message from user '{}': {}", name, message);
    session.sendMessage(new TextMessage(message.toString()));
  }

  public String getSessionId() {
    return session.getId();
  }

  public void setWebRtcEndpoint(WebRtcEndpoint webRtcEndpoint) {
    this.webRtcEndpoint = webRtcEndpoint;

    if (this.webRtcEndpoint != null) {
      for (IceCandidate e : candidateList) {
        this.webRtcEndpoint.addIceCandidate(e);
      }
      this.candidateList.clear();
    }
  }

  public void addCandidate(IceCandidate candidate) {
    if (this.webRtcEndpoint != null) {
      this.webRtcEndpoint.addIceCandidate(candidate);
    } else {
      candidateList.add(candidate);
    }

    if (this.playingWebRtcEndpoint != null) {
      this.playingWebRtcEndpoint.addIceCandidate(candidate);
    }
  }

  public void clear() {
    this.webRtcEndpoint = null;
    this.candidateList.clear();
  }
}

关于这一点,我有两个问题:

  1. 为什么我们需要会话对象?
  2. 管理会话的替代方案(如果有的话)是什么?

让我就第二个问题再给出一些背景。我发现我可以运行(我需要将它转换成浏览器版本,然后可以使用它)。仅在客户端(这样我就不需要后端服务器,即nodejs或tomcat --这是我的假设)。因此,在这种情况下,我将如何管理会话,或者我可以完全删除UserRegistry的概念,并使用其他方式。

致谢和问候

EN

回答 1

Stack Overflow用户

发布于 2017-02-24 05:46:26

您需要存储会话以实现客户端和应用服务器之间的信令。例如,参见这里。信令图描述启动/停止/等WebRTC视频通信所需的消息。

如果您计划摆脱应用服务器(即完全迁移到JavaScript客户机),您可以查看发布/订阅API (如PubNub )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42409023

复制
相关文章
为什么我们需要在Scrum中进行产品演示?
在Scrum中,我们努力在每次sprint结束时交付工作产品 (Working Prodcut)。但如果没有人知道这件事又有什么意义呢?Scrum对此的回答是演示 (Demo)。
Warren2Lynch
2018/12/27
9300
为什么我们需要在Scrum中进行产品演示?
创建 WebRTC 会话
一WebRTC 是一套基于 Web 的实时通信解决方案,通过浏览器内置的 API 来支持音视频通道的搭建。
派大星在吗
2021/12/05
5.6K0
WebRTC 会话详解
对于媒体传输层,WebRTC 规定了用 ICE/STUN/TURN 来连通,用 DTLS 来协商 SRTP 密钥,用 SRTP 来传输媒体数据, 用
花落花相惜
2021/12/16
2.7K0
[答疑]如果前置条件没有,就需要在基本路径中进行验证对吗
用例规约里面的前置条件如果有了,就不需要在基本路径中进行验证了,如果前置条件没有,就需要在基本路径中进行验证对吗? 潘加宇(3504847) 18:27:17 也未必,实事求是就可以。 前置条件满足才能开始用例,不代表在用例进行过程中系统不需要再验证一次,因为在这个过程中系统的状态会变化。 没有前置条件,意味着用例什么情况下开始都行,但不代表在用例进行过程中,系统一定会验证什么,因为可能这个用例根本不需要验证什么 海贼王Fans!!(944***437) 18:38:40 哦 谢谢老师 关键点就在您说的系统状态会变化这里,进入系统前状态是满足前置条件的,进入后由于某种原因使得系统的状态变化成不满足前置条件了,然后执行就会导致用例的异常了。 潘加宇(3504847) 18:41:38 我的意思不是这样的,这几个事情没有绑定的关系
用户6288414
2021/12/24
4850
「深度」5G,真的有必要在2020年占领我们吗?
有消息称爱立信与T-Mobile(美)正式在美国进行了5G业务的研发与测试,预测到2021年底5G用户将会达到1.5亿。而之前华为也放出消息称其已经开始5G网络的布局。早前2016MWC展会上,5G当
镁客网
2018/05/28
6540
我们要在离职时,优雅地说再见!
作者 | DougArcuri 译者 | 弯月   责编 | 孙胜 来源 | CSDN(ID:CSDNnews) 作为软件工程经理,我也会遇到人情世故的难题。最近一位团队成员提出了离职申请,是因为个人的原因,而且很直接。 1、收到离职申请 我知道他会离职,我很少有措手不及的时候,所以我早就有预感,事实证明我的预感没错。几周前,我就有一种感觉:“该来的迟早会来。”他们提出的问题、他们的疑虑以及他们有时会莫名离开办公室,这一切都让我感到“不太正常”。(如果你发现周围的员工也有类似的行为,就要注意了。) 后来,
程序猿DD
2023/04/04
2530
我们要在离职时,优雅地说再见!
我们可以从WebRTC中看到什么
本次演讲来自The Video Insides。发言人是来自Verizon的Blue Jeans媒体工程副总裁Pierre Seigneurbieux。本文主要讨论了超低延迟的WebRTC协议如何推动实时参与应用程序的发展,包括视频通话、会议、事件和交互式体验。本文将讨论针对低延迟和屏幕内容调整视频编码器,以及AV1和QUIC如何成为该领域的下一代标准。
用户1324186
2021/02/08
6730
我们到底需不需要 jQuery
曾经,在那个 IE6 还是主流浏览器的时代,为了实现稍微复杂一点的功能,也需要很多代码。如果要做到兼容主流浏览器,更需大费周章。当 jQuery 出现后,使用 jQuery 实现同样的功能,我们只需写很少的代码,并且兼容主流浏览器。于是,大部分网站都会使用 jQuery。
前端GoGoGo
2018/08/24
4320
WebRTC技术概览
WebRTC(Web Real-Time Communication)是基于标准化技术的行业性项目,
呱牛笔记
2023/05/02
1.4K0
WebRTC技术概览
为什么我们不要在nodejs中阻塞event loop
我们知道event loop是nodejs中事件处理的基础,event loop中主要运行的初始化和callback事件。除了event loop之外,nodejs中还有Worker Pool用来处理一些耗时的操作,比如I/O操作。
用户2323866
2021/06/22
4790
为什么我们要在 Sketch 中备份所有 Figma 设计
最近,我司的设计管理人宣布我们要从Sketch搬家到Figma啦。 Yay! 真香! 搬家同时,我们也开始了使用名为 Magicul 的工具。 这个工具会定期将所有的 Figma 设计稿备份为 Sketch 格式。 有这个必要吗? 问:你不知道 Figma 有版本管理这个功能吗? 答:
奔跑的小鹿
2021/07/01
1.1K0
为什么我们要在 Sketch 中备份所有 Figma 设计
Google开源的WebRTC技术安全吗?
也许大家经常被问到" WebRTC安全吗?"一句话...是的。 WebRTC是安全的,并采取了许多安全措施以确保数据保持安全。这些包括:
TSINGSEE青犀视频
2021/05/08
1.2K0
我们要在任何可能的地方测试XSS漏洞
在这篇文章中,我准备跟大家讨论几种不同的场景,在这些场景中,不同的服务都会收集各种各样的数据,但它们又无法正确地去处理这些数据。在某些情况下,数据采用的是安全格式存储和传输的,但是由于数据的解析操作以
FB客服
2018/02/28
1.5K0
我们要在任何可能的地方测试XSS漏洞
最简WebGL教程,仅需 75 行代码
现代 OpenGL(以及名为WebGL的扩展)与我过去学习的传统 OpenGL 有很大不同。我了解栅格化的工作原理,所以对这些概念很满意。但是我所阅读的每篇教程都介绍了抽象和辅助函数,这使我很难理解哪些部分是 OpenGL API 的真正核心。
疯狂的技术宅
2020/07/16
2K0
最简WebGL教程,仅需 75 行代码
OpenAI收购“我的世界开源版”,GPT-5要在虚拟世界中进化了?
该公司整个团队已并入OpenAI,并且要参与的是核心产品也就是ChatGPT的开发。
量子位
2023/09/08
2060
OpenAI收购“我的世界开源版”,GPT-5要在虚拟世界中进化了?
我们长的像是我们的错吗?
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字。
公众号袁厨的算法小屋
2020/11/25
3020
我们长的像是我们的错吗?
我们真的需要JWT吗?
JWT(JSON Web Token)是目前最流行的认证方案之一。博客园、各种技术公众号隔三差五就会推一篇JWT相关的文章,真的多如牛毛。但我对JWT有点困惑,今天写出来跟大家探讨探讨,不要喷哈。
MJ.Zhou
2020/09/01
1.6K0
我们真的需要JWT吗?
AIops离我们遥远吗?
所以我们要推进DevOps的理念,会受到两个方向的阻力,比如运维和开发团队的支持,或者说是上下级同事的支持。
jeanron100
2018/07/26
3780
AIops离我们遥远吗?
谷歌值得我们信任吗?
生活中貌似我们都逃脱不了谷歌的手掌心。 多年以前,两个踌躇满志的大学生将自己的研究项目变成了一个网站,而现在这个网站已经市值千亿,为我们提供方方面面的便捷服务,未来可能渗入我们生活的每一个毛孔。 2015年,谷歌这艘巨轮变身Alphabet重新起航,它不再只是一个搜索引擎了。旗下的Chrome浏览器已经拥有超过十亿用户,也超越了老牌霸主IE拿到了最大的市场份额。 Gmail也成为了最受欢迎的通用电子邮件客户端,备受大学生,公司职员和自由职业者的青睐。谷歌的文字处理工具,幻灯片制作软件和电子表格程序也让微软的
程序员互动联盟
2018/03/14
9400
谷歌值得我们信任吗?
WebRTC会成主流吗?众包CDN时代到了!
摘要 WebRTC把实时流媒体和P2P等能力带入了Web前端,开发者只需编写简单的JavaScript程序即可开发出丰富的实时多媒体应用。本次大会想跟大家分享我们对WebRTC的一些实践心得,以及如何利用WebRTC的数据通道来做P2P流媒体。最后介绍我们如何设计一个低延迟、高带宽利用率的P2P流媒体算法。 WebRTC的诞生背景 我们知道现在实时视频通信很普遍,基于FaceTime和Skype等视频通话工具,用户可以很方便地与他人进行视频对话。开发者们为了将用户体验优化到极致,通过大量的技术手段保障视频质
IT大咖说
2018/04/03
3K0
WebRTC会成主流吗?众包CDN时代到了!

相似问题

我们真的需要在MapReduce框架中进行排序吗?

11

我们需要在多阶段构建中进行清理吗?

14

我们需要在powershell框架中使用临时远程会话吗?

113

为什么我们需要在这一行中进行类型转换

11

WebRTC现有会话

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文