急急急!非常郁闷,给GPRS终端发送数据(UDP模式),但终端接收不到数据

fanta888 2008-05-27 09:32:57
思路如下:
1,GPRS终端每隔30秒发送一次心跳数据保持GPRS连接
2,每次发送心跳数据,服务器都存贮一次此时的GPRS的IP地址和端口号
3,当服务器想要主动发送数据到GPRS终端的时候,读取对应存储的IP地址和端口号
4,服务器发送数据
相关程序如下:
1,服务器接收存储GPRS终端发送来的数据并存储IP地址与端口号
void CUDPServer::OnReceive(long length)
{
char *pbuf;
CString strSql,strimsi;
int addr_len,iRecLen,nLen;
struct sockaddr_in addr;
pbuf = new char[length+1];
memset(pbuf,0,length+1);
addr_len = sizeof(addr);
iRecLen = recvfrom(m_SckRecive,pbuf,length,0,(struct sockaddr *)&addr,&addr_len);
nLen=sizeof(pbuf);
if(iRecLen==SOCKET_ERROR||iRecLen<=0||iRecLen!=length)
{
printf("Receive Failed!");
}
else//存储数据及ip地址端口号
{
。。。。//此处省略从终端发送来的报文里获取 终端号码等内容
strSql.Format("insert into IpTable (Imsi,ip,port) values ('%s','%s','%d') ",strimsi,inet_ntoa(addr.sin_addr),htons(addr.sin_port));
pConn->Execute(strSql,NULL,adCmdText);//执行SQL语句
}
}
void CUDPServer::OnSend(long length)//读取数据库里存储的ip及端口信息,向终端发送数据(IpTable存储终端地址和端口信息,IFRe表存储发送服务器请求)
{
strSql.Format("SELECT top 10 IpTable.imsi,IpTable.ip,IpTable.port,IFRe.ID,\
IFRe.RequestType from IFRe inner join IpTable on IFRe.imsi= IpTable.imsi\
where IFRe.isquery=0 ");
pCmd->CommandText=(_bstr_t)strSql;
pRst=pCmd->Execute(NULL,NULL,adCmdText);
while(!pRst->rsEOF)
{
_variant_t varImsi = pRst->GetCollect("imsi");//读取imei号码
_variant_t varRequest = pRst->GetCollect("RequestType");//读取请求
_variant_t varIp = pRst->GetCollect("ip");//读取ip地址
_variant_t varPort = pRst->GetCollect("port");//读取端口号
strImei = (char*)_bstr_t(varImsi);
strRequest = (char*)_bstr_t(varRequest);
strMessage.Format("%s",strRequest);//准备向终端发送的数据
char* SendBuf = strMessage.GetBuffer(strMessage.GetLength());
strIp = (char*)_bstr_t(varIp);
strPort = (char*)_bstr_t(varPort);

SOCKADDR_IN addrTo;
addrTo.sin_family=AF_INET;
addrTo.sin_port=htons(atol(strPort));
addrTo.sin_addr.S_un.S_addr=inet_addr(strIp);
//发送
sendto(m_SckSend,SendBuf,sizeof(SendBuf),0,(SOCKADDR*)&addrTo,sizeof(SOCKADDR));
pRst->MoveNext();
}
}
非常郁闷的是,给GPRS终端发送数据(UDP模式),终端接收不到数据,请有经验的朋友帮忙看一下,谢谢!!!
小弟Email:leonwb@163.com,如果那位朋友有现成的程序给小弟发送一份也不胜感激!!!
小弟分不多了,请见凉
...全文
209 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
witlym311 2012-06-04
  • 打赏
  • 举报
回复
我也跪求答案!请楼主指点,楼上兄台有何进展,求告知!
1337X 2012-05-21
  • 打赏
  • 举报
回复
不知道怎么称呼,麻烦说下怎么解决的,跪求您回答!
1337X 2012-05-21
  • 打赏
  • 举报
回复
怎么解决的,我这几天都在搞这个问题,没搞定!发送数据可以,但终端就是不能接收数据!郁闷
fanta888 2008-05-28
  • 打赏
  • 举报
回复
问题已经自行解决
fanta888 2008-05-28
  • 打赏
  • 举报
回复
我用网管大师也截取到了我发出的数据包,可终端就是收不到,我猜测是gprs网关有什么我没注意到的问题
没人帮忙么?哭。。。

3,846

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 无线
社区管理员
  • 无线
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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