基于html5 WebSocket和WebRTC实现IM和视音频呼叫(一)

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:49   1795   0

半年前Google开源了WebRTC项目,并把其加入到chrome dev版本中,实现浏览器之间无插件的视音频多媒体传输。这个新的技术使用了HTML 5和简单的Javascript API,开发者可以很轻松的创建RTC应用,只要浏览器支持,就可在不安装任何扩展和插件的前提下进行实时音频和视频聊天。

最近工作中需要对WebRTC做一些调研,于是我计划基于WebSocke和WebRTC实现IM和视音频对话的prototype。

在html5 WebSocket出现以前,web版本的IM应用都是基于AJAX轮询的信令传输方式,这种方式的优点是调用rest接口可以实现无状态维护信令传输,server端都有成熟的jsp、php等技术框架支持;缺点不言而喻,就是网络使用浪费server负载过大等等。WebSocket的出现给web端的信令传输提供了新的道路。

WebSocket作为HTML5一种新的协议,实现了浏览器与服务器的双向通讯。在 WebSocket API 中,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。

我自然选择了WebSocket作为IM和WebRTC信令传输的媒介,这样就需要搭建一个支持WebSocket协议的server端。

经过一番google后发现有很多解决方案,纯C实现的opensource工程libwebsocket,Node.js实现,新版本的web服务器jetty和netty等也都对websocket提供了支持。鉴于java语言的易操作性我最终选择了jetty + java的实现。

参照这个帖子(http://www.cnblogs.com/svage/archive/2011/11/24/2262008.html)搭起了WebSocket server。需要提醒大家的是jetty版本的选择上使用11年10月左右的版本,新版本运行会出初始化错误。

先到这里吧,明天继续写~

相关资料:

http://www.cnblogs.com/svage/archive/2011/11/24/2262008.html

http://git.warmcat.com/cgi-bin/cgit/libwebsockets/

http://dev.w3.org/html5/websockets/

转载于:https://www.cnblogs.com/longrenle/archive/2012/02/24/2365941.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP