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

我的服务器向客户发数据,为什么有时候客户可以收到,而有时候客户却异常退出?我跟了一下断点,问题在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 ;      };
求达人解惑啊,都困扰我好久了,子藤大哥,救命啊。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值