我想知道是否有可能找出服务器使用TCP连接发送到客户端的最后一个字节。详细说来,我有一个客户端和一个服务器,都是用C ++编写的。他们使用XMLRPC进行通信,连接是TCP。客户端可以向服务器发送大量请求,由于某些计算,服务器可能需要一些时间才能回复。在连接的任何部分,如果它断开连接,整个过程应该从头开始,这会导致服务器容易受到DoS攻击。
我的问题是,如果我能找出连接断开的位置,以便在重新建立连接后(对于使用某些标识的同一客户端),服务器可以从先前的请求发送剩余的字节,而不是再次处理请求。 / p>
答案 0 :(得分:2)
您应该将该支持编码到您的协议中。例如,将响应分解为4096个字节的块;然后客户端可以重新连接并说:“我收到前19个街区,请继续第20个街区!”