欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

fp1的udp接收有关问题,内有源码

更新时间: 2014-01-05 02:40:30 责任编辑: Author_N1

 

FP1的UDP接收问题,内有源码
这个类在FP2模拟器上运行良好,但是在FP1的模拟器上会卡死,只能关闭模拟器。我测试过了,是卡在接收这个活动对象里,只要我不调用接收的活动对象,就没有问题。
udpsocket.h

#ifndef UDPSOCKET_H
#define UDPSOCKET_H

// INCLUDES
#include <e32std.h>
#include <e32base.h>
#include <es_sock.h>
#include <in_sock.h>
#include "SocketDgram.h"

// CLASS DECLARATION
class CUdpReader;
class CUdpWriter;
/**
 *  CUDPSocket
 * 
 */
class CUDPSocket: public CUdpReader::MObserver, public CUdpWriter::MObserver
{
public:
///Rtp package Observer
class MAppObserver
{
public:
virtual void OnRtpPacketReceived(const TDesC8 &aPayloadData, TInt aRtpType) = 0;
};
public:
// Constructors and destructor

/**
 * Constructor for performing 1st stage construction
 */
CUDPSocket(MAppObserver& aPacketObserver,RSocketServ& aSocketServer,
    RConnection& aConnection,TInetAddr& aRtpAddr,TInetAddr& aRtcpAddr);
/**
 * Destructor.
 */
virtual ~CUDPSocket();

/**
 * Two-phased constructor.
 */
static CUDPSocket* NewL(MAppObserver& aPacketObserver,RSocketServ& aSocketServer,
    RConnection& aConnection,TInetAddr& aRtpAddr,TInetAddr& aRtcpAddr);

/**
 * Two-phased constructor.
 */
static CUDPSocket* NewLC(MAppObserver& aPacketObserver,RSocketServ& aSocketServer,
    RConnection& aConnection,TInetAddr& aRtpAddr,TInetAddr& aRtcpAddr);

/**
 * EPOC default constructor for performing 2nd stage construction
 */
void ConstructL();

public:
/* Close existing RTP session
 *
 */
void CloseSession();

/*!
 @function StartRTPConnection  
 @Initializes RTP streams.
 */
void StartRTPConnectionL(TUint aLocalPort = 5000, TBool aEnableRtcp = ETrue, TInt aRtpType = 0);

/* Send rtp packet
 *
 */
void SendRtpPacketL(TDesC8& aBuffer);
/*!
 @function StartSending  
 @Starts sending the  RTP packets to Remote IP address.  
 */
void StartSending();
/*!
 @function StopSending  
 @Starts sending the  RTP packets to Remote IP address.  
 */
void StopSending();
void ErrorNotify(TInt aErrCode);
//From MTimerNotify
void TimerExpired(TInt aError);

// From MRtpObserver
//void RtpPacketReceived(TRtpId aStreamId,const TRtpRecvHeader & aHeaderInfo, const TDesC8 & aPayloadData);
//From MRtcpObserver
//void SdesReceived(TRtpSSRC aSSRC, const TRtpSdesParams& aParams);
//void ByeReceived(TRtpId aStreamId, TRtpSSRC aSSRC, const TDesC8& aReason);
//void AppReceived(TRtpId aStreamId, TRtpSSRC aSSRC, const TRtcpApp& aApp);
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:40:30
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/12972/
本文WWW.DOC100.NET DOC100.NET版权所有。