关于网友提出的“ [急]CAsyncSocket类,关于发送接受的问题。”问题疑问,本网通过在网上对“ [急]CAsyncSocket类,关于发送接受的问题。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: [急]CAsyncSocket类,关于发送接受的问题。描述:
问题:
客户端发送数据,如果在3秒内没有收到从服务端传回的确认信息,则重新发送。
我原来是想用timer来做,但是客户端如何处理?服务端如何处理?我弄不太清楚,想请明白,做个的朋友帮着解释。或者有其他更好的方法?
在线等。。。。。。。。。。
解决方案1:
CAsyncSocket类和tcp没有必然联系的, 数据的重发也不受这个类控制。
解决方案2: “该类“是指什么?tcp吗?
tcp是会有默认的超时时间,可以改的,不过我记得这个值为影响这个操作系统的。
它只是识别自己定义的那些错误信息,如果它认为是错的,会重发。
对服务端来说是无所谓的,当然如果客户端的请求会改变一些东西就不一样了。也可以对每个请求编号,如果服务器已经收到但还未处理完,那么就直接丢弃。
客户端可能会有一个发出去但还没有收到反馈的请求队列吧,那就先把要重发的请求从队列里面拿走,重新发送后在加到队列里面。
如果是tcp的数据,楼主的这种做法是没有意义的。