serversocket 如何确保数据已全部发出,或收到
我用serversocket写通信程序发送和接收数据,以发送为例,我循环调用sendbuf发送数据,程序不间断就把数据发完了,但由于是用的3G网络,客户端收到数据较慢,也...
我用serversocket写通信程序发送和接收数据,以发送为例,我循环调用sendbuf发送数据,程序不间断就把数据发完了,但由于是用的3G网络,客户端收到数据较慢,也许刚收到一包数据,服务端已经发出10包甚至更多了,在循环中已经把发送缓存替换掉了,最后还结束了当前scocket,导致客户端只能收到一小部分数据,我想的问是
怎么判断sendbuf是否已经真实的发送出去了,且缓存中没有数据
发送程序:
repeat
buflen := AData.Read(buf,512);
send(ASocket.SocketHandle,buf,buflen,0);
// 如何在这里确认已经成功发出
until buflen <=0 展开
怎么判断sendbuf是否已经真实的发送出去了,且缓存中没有数据
发送程序:
repeat
buflen := AData.Read(buf,512);
send(ASocket.SocketHandle,buf,buflen,0);
// 如何在这里确认已经成功发出
until buflen <=0 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询