狸猫的面试——项目描述——视频通信
软件需求:
1.最大支持4人
2.能进行文本通信,视频通信。
3.用户上下线的通知
软件设计:
2015/09/14
关于服务器与客户端线程处理的设想:
服务器:
1.服务器要为每个用户启动一个线程来处理服务器与用户之间的交互
2.这个线程中要分为两个线程 一个用来处理文本 一个用来处理音频
客户端:
1.启动两个线程 一个用来处理文本 一个用来处理音频
2.文本线程要单独添加一个读取文本(接受服务器发送的信息)的线程
/*****************************************************
处理文本需要可靠的TCP传输(socket)
处理音频需要UDP传输(DatagramSocket)
但是两种连接传输方式不同 难道要连接两次?!
解决方式:搭建两次数据链路
/*****************************************************
2015/09/15
关于服务器与客户端信息处理的设想:
服务器:
1.服务器接收到客户端发送的数据,然后以广播的方式,发送给除此客户端以外的其他所有在线用户
客户端:
1.客户端发送的信息,一份显示在此客户端,一份发送给服务器
2.客户端接收服务器传送的数据,并显示在此客户端
关于服务器与客户端中TCP与UDP的搭建与关闭处理的设想:
服务器:
1.服务器始终处于接收客户端连接的请求。连接成功后,单独开辟一个线程来处理服务器与此客户端的数据交互。
2.对于客户端A,服务器与A的TCP连接始终存在,除非A请求断开。但是UDP连接能多次连接与断开。
客户端:
1.客户端在启动时,自动搭建TCP连接,在关闭时发送关闭请求,并断开TCP连接。
2.UDP连接作为一个附加属性,在客户端运行时,可以多次搭建和关闭。
2015/09/22
关于服务器与客户端视频交互处理的设想
服务器:
1.服务器为每个用户分配一个组播地址
2.这个信息添加到User类中,便于通知其他用户
2.服务器会将客户A发送的数据,转发到A的组播地址
客户端:
1.客户端接收服务器传来的每个客户端的信息
2.客户端从其他客户端的专属组播地址分别去读取
关键点描述:
1.系统在实现过程中使用了JMF框架。
2.在实现用户上下线提醒时,我设计了一种编码,来让服务器与各客户端来解析。
2.使用到的协议
a.RTP(实时运输协议)为实时应用提供端到端的运输,但不提供任何服务质量的保证。(因为它是基于UDP的)
b.RTCP实时运输控制协议,与RTP配合使用,主要功能:服务质量的监视与反馈、媒体间的同步(如某一个RTP发送的声音和图像的配合),以及多播组中成员的标
志。
c.H.323会议通信协议,包括音频编解码器,视频遍解码器,H.255.0登记信令,H225.0控制信令,T.120数据传送协议,实时运输协议RTP和实时运输控制协议RTCP。
d.图片编码格式:JPEG。音频编码格式:ULAW
结果截图:
狸猫的面试——项目描述——视频通信相关推荐
- 【春秋招面试分享】讲一讲当时春秋招时做过的项目以及推荐几个项目+推荐面试突击的视频
前阵子写了一篇关于春招的文章,没看过的或许可以看一看 有必要说一说即将到来的春招(经历+重要性+如何准备) 主要是给还没有参加过面试的学生提供一些参考,文中跟大家说了自己当时在项目这块,是非常薄弱的, ...
- 跨平台视频通信项目-OpenTok
1 理论知识 1.1 OpenTok平台简介 即时视频通信日益成为主流服务,通过WebRTC,开发者可以轻松地将即时视频通信功能加入到应用中.视频聊天创业公司TokBox推出OpenTok,可实现浏览 ...
- 从面试官角度再论面试前准备项目描述和介绍项目的要点
前几天我写了篇文章,在做技术面试官时,我是这样甄别大忽悠的--如果面试时你有这样的表现,估计悬,得到了大家的广泛关注. 由于项目介绍是面试中的重头戏,一些技术问题会围绕你介绍的项目展开,你也可以在介绍 ...
- Android面试过程描述
Android面试过程描述 1.之前所写项目的介绍 2.android一些常见问题的问答 3.关于android平时很少用到但实则很重要的问题描述 技术分析 1自我感觉面试中比较好的方面: 1.熟悉掌 ...
- 进入全真互联网——音视频通信的技术变革
导 语 随着5G和下一代编解码.传输等技术持续演进,音视频通话技术从低延时到超低延时实时通信快速迭代,越来越多应用与服务迁移至线上,越来越真实无损地还原线下体验,新的互动方式和场景不断涌现,从高度数字 ...
- 90后CEO率图鸭投身开源,视频通信也成“隐形”红海
过去,小编经常通过写信和打电话与不在一处的亲人朋友沟通交流. 现在的小编只要手握各种移动式便携设备,随时随地视频通话或观看直播就可以和异地亲人虽不见面但胜似见面. 我们感慨技术迭代发展的同时,也惊觉随 ...
- 视频通信为何能够在疫情之下脱颖而出?
@[TO(本篇文章翻译自Enghouse首席科学家Alex Eleftheriadis,将以他的口吻叙述.) 正文 前言:本篇文章仅表达我的个人观点,不代表我所关联的任何公司的立场. 几天前,我的好朋 ...
- 音视频通信为什么要选择WebRTC?
在网上经常看到有人说:"在线教育直播是用WebRTC做的","音视频会议是用WebRTC做的"--:"声网.腾讯.阿里--都使用的WebRTC&quo ...
- 云视频通信在建筑施工企业的应用
在建筑施工企业,视频通信不是一个陌生的概念.企业无论是大小,或多或少都接触过类似于视频会议.视频监控类产品.对于一些大型施工单位来说,整个集团甚至拥有多套不同厂家的视频会议系统,并且从硬件会议,到软件 ...
最新文章
- Androidstudio下Generate signed apk提示Error: Expected resource of type id [ResourceType]解决办法...
- Version 1.3.1_01 of the JVM is not suitable for this product.Version:1.4.1 or greater is required。
- 斐波那契数列及青蛙跳台阶问题
- html鼠标长按事件,JavaScript-web如何获取长按鼠标左键事件
- 科大星云诗社动态20210514
- 营销获客场景下的工具类产品规划
- Best Cow Line(POJ-3617)
- Transformer 杀疯了,图像去雨、人脸幻构、风格迁移、语义分割等通通上分
- 单片机音频谱曲软件_51单片机蜂鸣器音乐简谱转换工具
- kepware怎么读modbus/tcp数据_注塑机设备联网?EUROMAP 63?Kepware快速帮您搞定!
- 贴吧签到助手 服务器版
- 【创业感悟】企业生存法则
- iOS中开发者账号分类
- Git操作与仓库创建
- 恢复chrome书签
- nvcc fatal : Unsupported gpu architecture ‘compute_86‘
- 小米手机遇到卡顿问题怎么抓当时的日志
- python音标是什么_python转换工具之汉语拼音与国际音标的实现
- DVWA靶机-反射性XSS漏洞(Reflected)
- 忘却的纪念:我的摩托罗拉3G网络工程师培训笔记