VC2010 RTMPdump flex 程序通讯

RTMPdump 是c++版本的RTMP协议解析库,其中包含一个服务器端的rtmpsrv程序,可以替代red5,做一些c++环境下的开发。

官方网站为:http://rtmpdump.mplayerhq.hu/

经过两天的努力,终于将RTMPdump的服务器端程序rtmpsrv与flex客户端连接成功,实现了rtmpsrv与flex之间的通讯。现将环境搭建过程介绍如下。

原文网址:http://blog.csdn.net/yangzhaohui168/archive/2010/07/23/5756734.aspx

一、rtmpsrv 在VC2010下编译:

rtmpdump没有做为单独的lib编译,将其整合到了工程中, 需要引用zlib和一种加密库,如 OpenSSL PolarSSL,这里我选择了PolarSSL。rtmpsrv再调用rtmpdump中的函数。

从网上下载了 zlib123-dll.zip  polarssl-0.13.1-gpl.tgz

zlib123-dll.zip 库中lib和dll可以直接引用,不用重新编译。

polarssl-0.13.1-gpl.tgz 运行其中的 /visualc/polarssl.dsw 就可以编译出lib库,然后将其引入到工程中。

另外,rtmpsrv需要解析命令行输入,需要下载个freegetopt-0.11.tar.gz,直接将其中的getopt文件包含到工程中就可以了。(注:win32下默认不包含getopt)

搭建完成后可以运行源程序可以在下面的网址下载:

 

http://download.csdn.net/source/2566496

二、flex的运行环境

flex运行环境的搭建,这里就不用多说了,上面的下载地址包含一个可以运行的mxml文件,flex builder下新新建一个工程,将其添加进去,就可以运行了,并可以连接到rtmpdump服务器端。

 

三、rtmpsrv 与 flex连接

1、进入命令行执行服务器端程序:

E:/VcDev/rtmpdump/Debug>rtmpdump.exe -z

RTMP Server rtmpdump-2.3

(c) 2010 Andrej Stepanchuk, Howard Chu; license: GPL

Streaming on rtmp://0.0.0.0:1935

这时服务器端在默认端口1935等待客户端连接。


2、运行客户端程序,并点击连接按钮,客户端终端打印连接成功,并向服务器端发送了hello的invoke AMF消息。

[SWF] D:/Adobe/workspace/rtmpdump/bin-debug/rtmpdump.swf - 638,132 bytes after decompression

连接信息……..

NetConnection.Connect.Success

 


3、服务器端打印hello的方法请求:

DEBUG: ServePacket, received packet type 14, size 18 bytes

DEBUG: ServePacket, received: invoke 18 bytes

DEBUG: (object begin)

DEBUG: Property: <Name:           no-name., STRING:     hello>

DEBUG: Property: <Name:           no-name., NUMBER:     2.00>

DEBUG: Property: NULL

DEBUG: (object end)

DEBUG: ServeInvoke, client invoking <hello>

DEBUG2: RTMP_ReadPacket: fd=1884

 

 

rtmpsrv 目前仅能支持单客户端连接,可以做为学习参考。

 

 

写于:2010-07-23 00:00:00

 

 

 

 

 

 

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值