GPRS远程抄表问题
公司要求做一个GPRS远程抄表系统,需要有服务器端和客户端。
二、具体要求:
1. GPRS设备拨号连接上服务器端,服务器及时回应。GPRS设备按照设定的时间发送ping包,保持在线状态。
2。多客户端(GPRS模块)连接服务器,服务端及时回应客户端的各类请求信息并转发给客户端,客户端获取登陆服务器的GPRS设备号信息,向指定的GPRS设备发送抄表指令,实现客户端跟多个GPRS设备交互。
现在利用serversocket实现了一个客户端的连接,并对其操作,但如何控制多个客户端,并控制其抄表?
有做过此类程序的朋友帮忙给个例子看看。谢谢!
邮箱:ruanjian2110@126.com
[解决办法]
用IOCP?
[解决办法]
IOCP对于那些用户达到几千上万,数据量要求比较快的才有用
抄水表就是发送个客户ID和水表数过去用不到的
数据结构设计的好点就行
抄送人,客户ID,水表数过去就完了
发送成功校验等
[解决办法]
我做过远抄系统,来说两句,希望对楼主有帮助:
远抄系统包括几部分:
1 主站:也就是用户使用客户端程序,操作的界面、手动召测电表数据、设置参数等功能。
2 终端:负责抄表的硬件,GPRS通讯装置就安装在里面,也可以看成是一个客户端
3 前置机:服务端程序,负责主站和终端之间的通讯。简单的前置机就是个转发的功能,
把主站下发的报文转发给终端,终端完成了操作,做出回应的报文也转发给主站。
主站和终端之间的通讯是有规定的,比如国家电网颁布的《电力负荷管理系统数据传输规约》
每个主站主站地址,每个终端也有终端地址,这样前置机就区分哪个主站在对哪个终端发生报文,该怎么转发
4 多功能电能表:挂接在终端,由终端负责冻结数据、抄表,终端和电表之间也有一套通讯规约,比如:DL645规约
开发远抄系统主要用到的技术:
1 多线程处理并发
2 数据库优化
3 规约解析
[解决办法]
用socket,就完全够用了,我作过1600点的,用SOCKET 一点问题都没.
系统结构如下:
前端单片机与SIMCOM300集成然后用485与多功能电表通信(645规约或是负控2004)
后来由SOCKE服务器,监控机,管理系统组成。
SOCKE服务器多端口,多线程按通信协议解析数据入库,并转发给监控机。