急急急!非常郁闷,给GPRS终端发送数据(UDP模式),但终端接收不到数据
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,如果那位朋友有现成的程序给小弟发送一份也不胜感激!!!
小弟分不多了,请见凉
相关推荐
电力系统风储联合一次调频仿真模型(Simulink仿真实现)
内容概要:本文介绍了一种基于Simulink平台构建的电力系统风储联合一次调频仿真模型,旨在实现风力发电与储能系统在电网频率调节中的协同响应。模型综合考虑风电功率波动特性、储能系统的充放电控制策略及其在频率偏差下的协调控制机制,通过引入一次调频控制环节,使风储系统具备类似传统同步机组的惯性与阻尼响应能力。仿真系统涵盖了频率信号检测、功率分配算法、储能出力限值与恢复控制等关键模块,能够有效评估风储联合系统对电网频率波动的抑制效果,并验证控制策略的技术可行性与动态性能。; 适合人群:具备电力系统分析、新能源并网控制或自动控制理论基础,从事风电、储能系统集成、微电网控制或电力系统稳定研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究高比例可再生能源接入背景下电网频率稳定性问题;②验证风储联合参与一次调频的协调控制策略有效性;③支撑相关科研课题的仿真验证、学术论文撰写及工程项目的技术方案设计。; 阅读建议:建议结合Matlab/Simulink环境实际运行模型,深入理解各功能模块的参数配置与控制逻辑,可通过调整控制参数或拓扑结构进一步开展二次调频、多能互补协调优化或构网型控制策略的拓展研究。
风光储共交流混合微电网并网发电系统仿真(Simulink仿真实现)
内容概要:本文围绕风光储共交流混合微电网并网发电系统的仿真展开,基于Simulink平台构建了集风力发电、光伏发电与双向储能系统于一体的三相并网发电模型,实现了多能源协同运行控制。系统涵盖了光伏Boost升压、储能充放电管理、并网逆变控制等关键技术环节,重点研究了微电网在并网模式下的能量协调控制策略及其动态响应特性。通过仿真分析验证了系统在不同工况下的稳定性与可靠性,为实际工程应用提供了有效的技术支撑。文中还引入智能优化算法(如PSO-DWA)进行参数优化,并结合MATLAB/Simulink完成完整的建模与仿真分析流程,提升了系统控制精度与运行效率。; 适合人群:具备电力系统、新能源发电或自动化等相关专业背景,熟悉MATLAB/Simulink仿真工具,从事微电网、分布式能源系统研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①开展风光储混合微电网的并网控制策略研究;②学习多能源系统在Simulink中的建模与仿真方法;③掌握储能系统协调控制与能量管理策略的设计与实现;④为科研项目、毕业设计或实际工程项目提供仿真验证与技术支持。; 阅读建议:建议读者结合文中提供的完整资源(如仿真模型、参考文献等)进行实践操作,重点关注系统建模流程与控制策略实现细节,并通过调整参数观察仿真结果变化,以深入理解微电网的能量协调机制与动态运行特性。
罗技驱动lghub-V2021.11.1775(2021年10月9日数字签名)
罗技驱动lghub_V2021.11.1775(2021年10月9日数字签名)
qemu-8.0.5.tar.xz
qemu-8.0.5.tar
lock_clean_switch.xml
lock_clean_switch.xml


无线
