GPRS服务器端信息发送的问题
大家有没有碰到过客户终端采用GPRS(TCP)连接了服务器进行通讯,但有一段时间客户可能进入了地下室或者电梯里面或者信号屏蔽很厉害的大楼里面不出来,这时候服务器上该客户的连接还是存在的并且可以往下发送信息的,但这个信息到不了客户那里,而且服务器上WSASend函数也不会报错,有没有办法知道这时候服务器发送数据是失败的呢?
客户端会采用心跳的方式保持跟服务器的通讯线路,服务器会定期检查客户端最后通讯的时间,如果超出一定的时间(比如2~3个心跳时间间隔之后)的话说明这个客户端已经无法再次发送信息了,服务器会把它踢掉。但现在的问题是在这2~3个心跳间隔之内服务器要给客户端发送数据的话,服务器上看起来是发送成功了的(WSASend函数不会报错),但客户端确实是收不到的。有办法知道服务器下发的数据是否正常吗?
服务器采用的IOCP,除了让终端每接收一次服务器的信息都要有一个回执(也就是服务器检测发送超时没有回执回复)之外还有别的办法吗?操作系统在处理TCP信息的时候有这方面的错误吗?
TCP通讯是双向握手和重发的,上面我说的情形终端侧肯定掉线了,原则上说的话,服务器上应该发不下去信息的(因为对方的端口已经过期了,只是移动还未给T掉而已,所以服务器上还正常发信息)。
客户端会采用心跳的方式保持跟服务器的通讯线路,服务器会定期检查客户端最后通讯的时间,如果超出一定的时间(比如2~3个心跳时间间隔之后)的话说明这个客户端已经无法再次发送信息了,服务器会把它踢掉。但现在的问题是在这2~3个心跳间隔之内服务器要给客户端发送数据的话,服务器上看起来是发送成功了的(WSASend函数不会报错),但客户端确实是收不到的。有办法知道服务器下发的数据是否正常吗?
服务器采用的IOCP,除了让终端每接收一次服务器的信息都要有一个回执(也就是服务器检测发送超时没有回执回复)之外还有别的办法吗?操作系统在处理TCP信息的时候有这方面的错误吗?
TCP通讯是双向握手和重发的,上面我说的情形终端侧肯定掉线了,原则上说的话,服务器上应该发不下去信息的(因为对方的端口已经过期了,只是移动还未给T掉而已,所以服务器上还正常发信息)。
...全文
相关推荐
读取GPRS模块数据.rar_GPRS_GPRS B/S_GPRS数据
**故障排查**:当遇到连接问题、数据丢失或解析错误时,理解GPRS模块的工作原理和通信协议对于问题定位至关重要。10.
用于GPRS通讯的服务器端通用调试程序同时与多路GPRS终端数据通信VB.rar
**TCP/IP通信协议**:GPRS通信基于IP网络,因此服务器端程序需要理解和使用TCP/IP协议栈来建立和维护与GPRS终端的连接,包括连接管理、数据包发送和接收。3.
GPRS_SERVERSIDE_PYTHON.rar_python_python gprs_python can
在实际的项目中,这样的Python GPRS服务器端实现可能包括以下组件:- **网络连接模块**:建立和维护GPRS连接,处理数据包的发送和接收,可能使用了Python的socket库或其他网络通信库
"基于GPRS技术的电力生产设备远程监控系统"
随着电力需求的增长和技术的进步,如何利用先进的信息技术提高电力生产设备的运行效率和安全性成为了亟待解决的问题。
GPRS手机控制电脑
**配置设置**:在电脑端设置服务器端软件,通常需要设定端口号、登录凭证等信息。这些信息将用于手机端连接到电脑。3.


无线
