客户-服务器通信问题(急,子藤大哥,救命啊!)

我的服务器向客户发数据,为什么有时候客户可以收到,而有时候客户却异常退出?我跟了一下断点,问题在iMessage.WriteL这里,异常退出代码为-38,错误的描述符,晕了。
我的疑问是既然问题出在iMessage.WriteL这里,但是为什么不是每次都退出,而且是随机的,(发数据)有时候时间长,有时候时间短。 
下面是客户-服务器通信的部份代码:
//CLIENT:
void RServerSession::RequestStateData( TStateMsg& aStateMsg, TRequestStatus& aStatus )
{
TAny* messageParameters[KMaxMessageArguments];

TPckg<TStateMsg> StateMsg( aStateMsg );
messageParameters[0] = (TAny*)&StateMsg; 
    SendReceive( ECyberWallServRequstState, messageParameters, aStatus );

}
//SERVER:
void CCyberWallServerSession::SendStateMsgToClient()
{

if(iWaitingForTick)
{
iWaitingForTick = EFalse;


iServer.GetStateMsg(iMyMsg);

TPckg<TStateMsg> hand_mymsg(iMyMsg);

TRAPD(err, iMessage.WriteL(iMessage.Ptr0(),hand_mymsg));
if(err)
{
PanicClient(EBadDescriptor);

}
   
iMessage.Complete(ECyberWallServRequestComplete);
}
}
问题就出在iMessage.WriteL(iMessage.Ptr0(),hand_mymsg)这句,我跟断点,异常退出代码为-38---错误的描述符,不知道怎么回事。如果是错误的描述符,为什么一开始不出问题,而是一段时间后。
//TStateMsg
struct TStateMsg
{
TInt AllSize ;
TInt Count ;
TInt DenyCount ;
TInt    FlowOver ;      };
求达人解惑啊,都困扰我好久了,子藤大哥,救命啊。
阅读更多
上一篇主Activity中如何获取Viewpager下其中一个fragment的方法?
下一篇基于Android平台的网络游戏对战系统项目可执行程序及源代码
想对作者说点什么? 我来说一句

Holle.java

2009年02月16日 106B 下载

没有更多推荐了,返回首页

关闭
关闭