狸猫的面试——项目描述——视频通信

软件需求:

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

结果截图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值