请问如何保持客户端和服务器的连接
情况时这样的:
用vc6.0的那个CSoket类作了一个服务器程序(tcp协议),和一个客户端程序
客户端连接服务器后一切运行正常,可是如果长时间挂着客户端的话(不和服务器交互)
就会失去连接,这要怎样解决啊,有没有办法设定cs的持续连接时间?
我查到的一点资料大概是这样解释的
服务器会纪录客户端最后一次成功通信的时间,如果长时间没有成功通信的话,服务器会自动断开客户端的连接
解决办法大体这样:客户端定时给服务器发送有效消息
我现在是想,有没有办法设置某个参数来延长持续连接时间,以免发送额外的消息?
望解答之
谢谢~~~
问题点数:50、回复次数:5Top
1 楼cpio(备注)回复于 2006-03-03 15:12:22 得分 0
没做过这方便的
你看CSocket::m_nTimeOut是不是干这个用的
Top
2 楼allenhiman(9Ft)回复于 2006-03-03 16:08:28 得分 0
应该不是吧,这个参数我没用过
感谢你Top
3 楼citywolf()回复于 2006-03-03 16:19:28 得分 40
我现在是想,有没有办法设置某个参数来延长持续连接时间,以免发送额外的消息?
这个问题是没有办法的!!
解决办法:
采用心跳协议:client定时(比如1分钟)向server发送KeepAlive消息(KeepAlive消息自己定义),server如果超过一定时间没有收到client发过来的KeepAlive消息(比如5分钟),则认为client已经断掉,server这时可以断开与client的连接。Top
4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2006-03-03 22:03:54 得分 10
beatheart 包Top
5 楼sdf123321()回复于 2006-03-07 12:43:34 得分 0
服务器程序是你自己做的,只要你服务器和客户端不主动断开连接,除非网络原因,是不会断线的。Top
相关问题
- 客户端连接oracle服务器!!
- 客户端不能连接服务器
- MMORPG的TCP/IP网络连接是服务器端和客户端时刻保持网络连接吗?
- 客户端程序如何与服务器是否一直保持着长时间的socket连接呢?
- 客户端程序如何与服务器是否一直保持着长时间的socket连接呢?
- CAsyncSocket 客户端如何连接服务器 以及 如何判断客户端已经连接上服务器?
- 客户端用DCOMConnect连接应用服务器时,客户端是否要注册该应用服务器?
- 客户端通过代理连接到服务器?请问服务器怎么得到客户机的名字
- 客户机能Ping通服务器,但是客户机的网上邻居打不开服务器。客户机用SqlServer能连接服务器...
- 如何用DCOM连接客户服务器程序?




