WEB开发网
开发学院手机开发Symbian 开发 Symbian 使用 RTP 发送数据的流程 阅读

Symbian 使用 RTP 发送数据的流程

 2010-03-22 16:25:00 来源:WEB开发网   
核心提示:/此文可以被转发,但请转发者保留作者的署名权李浩msn:lihao_nx@hotmail.comemail:lihaoyxj@gmail.com出处:lihaoyxj.cublog.cn*/例子为5rd中的,而帮助为3rd,有一些接口在3rd帮助中是没有的,而针对RTP传输在SYMBIAN上我也没做过,Symbian

/********************此文可以被转发,但请转发者保留作者的署名权

****李浩

****msn:lihao_nx@hotmail.com

****

****email:lihaoyxj@gmail.com

****出处:lihaoyxj.cublog.cn

*****************/

例子为5rd中的,而帮助为3rd,有一些接口在3rd帮助中是没有的,而针对RTP传输在SYMBIAN上我也没做过,现在只是整理,待后边验证,如果有什么错再改

假设要连接的相关参数为

远程IP:92.168.0.6

远程端口: 8000

本地端口: 7000

包大小:4096,分析NOKIA的RTP例子

1. 以Udp初始化RhostResolver,并获取与远程地址的一个连接

RHostResolver resolver;

User::LeaveIfError(resolver.Open(iSockServ,KAfInet,KProtocolInetUdp));

CleanupClosePushL(resolver);

TNameEntry entry;

TRequestStatus status;

resolver.GetByName(KDestAddr,entry,status);

User::WaitForRequest(status);

User::LeaveIfError(status.Int());

CleanupStack::PopAndDestroy(1);//close resolver

TSockAddr remote = entry().iAddr;

remote.SetPort(dport);

2. 创建一个本地连接地址

TInetAddr localAddr;

localAddr.SetPort(iLocalPort);

3. 创建一个本地的SOCKET并创建一个RTCP

User::LeaveIfError(iSocket.Open(iSocketServ, KAfInet,KSockDatagram, KProtocolInetUdp));

User::LeaveIfError(iSocket.Bind(localAddr));

localAddr.SetPort(iLocalPort + 1);

User::LeaveIfError(iRtcpSocket.Open(iSocketServ, KAfInet,KSockDatagram, KProtocolInetUdp));

User::LeaveIfError(iRtcpSocket.Bind(localAddr));

4. 本地socket连到到用程,并用rtpsession打开它,同时打开rtcp

TRequestStatus stat;

iSocket.Connect(iDestAddr,stat);

User::WaitForRequest(stat);

User::LeaveIfError(stat.Int());

iDestAddr.SetPort(iDestAddr.Port() + 1);

iRtcpSocket.Connect(iDestAddr,stat);

1 2 3  下一页

Tags:Symbian 使用 RTP

编辑录入:coldstar [复制链接] [打 印]
赞助商链接