[c#]实现fms服务器,rtmp协议破解(1),简介
[c#]实现fms服务器,rtmp协议破解(1),简介
Experience:
从月中的关于服务器推技术的思考,发现无论是长轮询还是早期的web页面技术都不能很好的实现Comet.要真正彻底的实现服务器推,必须采用socket,富媒体技术现在只有唯一的选择Flash,虽然Silverlight表现出强劲的势头,但这不会是个简单的过程。
20号之前实现了基于xmlsocket的长连接中间件,通过js操作,全程传递json流。达到了不错的效果。不过问题也是显而易见的,就是flash和js的交互实在是太慢了,不能达到webgame级别的所需要的要求。
随后开始研究rtmp协议,flash的fms服务器实在太贵了,而rtmp协议又不是开放协议,国外有个red5项目能实现大部分功能,国内还刚刚起步,只有零零散散地几篇文章。而C#版本的更是少有发现,经过几天对rtmp协议资料的整理和分析,已经有所眉目,随后将不断放出.
那么就开始吧.
1、什么是rtmp:
RTMP(the Real-time Messaging Protocol)协议作为客户端和服务器端的传输协议,这是一个专门为高效传输视频、音频和数据而设计的 TCP/IP 协议,使用 RTMP 协议传输的数据是未经加密的,包括用户名和密码等认证信息。
2、rtmp协议的应用:
现在最主要的就是在视频流这块,youtube,tudou等等都是经典案例。但是因为fms服务器的价格实在让人难以接受,所以中小型企业部署应该还是需要考虑下成本的。
3、red5项目:
red5是一个java的开源项目,通过对rtmp数据包的逆向工程研究,得出了协议的很多细节。他是全球无数开源人的心血结晶。
从月中的关于服务器推技术的思考,发现无论是长轮询还是早期的web页面技术都不能很好的实现Comet.要真正彻底的实现服务器推,必须采用socket,富媒体技术现在只有唯一的选择Flash,虽然Silverlight表现出强劲的势头,但这不会是个简单的过程。
20号之前实现了基于xmlsocket的长连接中间件,通过js操作,全程传递json流。达到了不错的效果。不过问题也是显而易见的,就是flash和js的交互实在是太慢了,不能达到webgame级别的所需要的要求。
随后开始研究rtmp协议,flash的fms服务器实在太贵了,而rtmp协议又不是开放协议,国外有个red5项目能实现大部分功能,国内还刚刚起步,只有零零散散地几篇文章。而C#版本的更是少有发现,经过几天对rtmp协议资料的整理和分析,已经有所眉目,随后将不断放出.
那么就开始吧.
1、什么是rtmp:
RTMP(the Real-time Messaging Protocol)协议作为客户端和服务器端的传输协议,这是一个专门为高效传输视频、音频和数据而设计的 TCP/IP 协议,使用 RTMP 协议传输的数据是未经加密的,包括用户名和密码等认证信息。
2、rtmp协议的应用:
现在最主要的就是在视频流这块,youtube,tudou等等都是经典案例。但是因为fms服务器的价格实在让人难以接受,所以中小型企业部署应该还是需要考虑下成本的。
3、red5项目:
red5是一个java的开源项目,通过对rtmp数据包的逆向工程研究,得出了协议的很多细节。他是全球无数开源人的心血结晶。