SMPP,用华为的API为什么收不到短信

xmmy 2005-04-29 10:55:26
T = IFInitInterface(g_CodeProtocol, g_DriverProtocol, g_sSmgIp);
if (T == TRUE)
{
if (Login_R(UserName, Password) == TRUE)
{

iRet = HasDeliverMessage(500);

if (iRet != 0)
{
printf("无");}
else
printf("有");


unsigned char byDestTON, byDestNPI, byOrgTON, byOrgNPI, byPRI, byPID, byDCS;
char sDestAddr[MAX_ADDR_LEN];
memset(sDestAddr, 0, MAX_ADDR_LEN);
char sOrgAddr[MAX_ADDR_LEN];
memset(sOrgAddr, 0, MAX_ADDR_LEN);
char sTimeStamp[MAX_TIMESTAMP_LEN];
memset(sTimeStamp, 0, MAX_TIMESTAMP_LEN);
char sUserData[MAX_UD_LEN];
memset(sUserData, 0, MAX_UD_LEN);

unsigned char byRP;
unsigned char byUDHI;
unsigned long ulUDLen;
unsigned char byStatusReport = 0;
iRet = GetDeliverSMExEx(
&ulsm_ID,
&byDestTON,
&byDestNPI,
sDestAddr,
&byOrgTON,
&byOrgNPI,
sOrgAddr,
&byPRI,
&byRP,
&byUDHI,
&byPID,
&byDCS,
sTimeStamp,
&ulUDLen,
sUserData,
&byStatusReport
);
if(iRet == 0)
{
CString sGetData;
sGetData.Format("接收成功!\n接受到数据:%s", sUserData);
printf(sGetData );
}
else
printf("接收失败!");
}
}

====================================================
请各位看看我写的代码对吗?
我是按照API提供的文档写的,但在收短信时iRet = HasDeliverMessage(500)返回值是1。
如果不用HasDeliverMessage(500)检测,直接用GetDeliverSMExEx收,返回值是错误。

我现在没办法了,老板逼的又紧。请大家看看我到底是哪里写错了?急啊!
...全文
124 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Caps77 2005-05-02
  • 打赏
  • 举报
回复
办法应该是有的吧,如果华为的API没问题,这么一点代码应该是很容易调试的!
oyljerry 2005-04-29
  • 打赏
  • 举报
回复
没用过,up

4,358

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧