socket如何在发送数据之后把发送缓冲区的数据删除(100分)

  • 主题发起人 主题发起人 iwillgo2
  • 开始时间 开始时间
I

iwillgo2

Unregistered / Unconfirmed
GUEST, unregistred user!
socket如何在发送数据之后把发送缓冲区的数据删除

相关问题:http://www.delphibbs.com/delphibbs/dispq.asp?lid=2151604
 
呵呵,这个你不用操心,系统在发送数据之后会自动清空缓冲区数据的。
如果你发送数据不要求速度很快的话,可以在每次send之后都sleep一下。
或者把缓冲区大小设为0(这个方法没试过)。
设置WinSocket缓冲区大小:
var
bs: integer;
begin
bs := 50000 * 1024;
setsockopt(SocketHandle, SOL_SOCKET, SO_SNDBUF, PChar(@bs), sizeof(bs)); //发送方
setsockopt(SocketHandle, SOL_SOCKET, SO_RCVBUF, PChar(@bs), sizeof(bs)); //接收方
end;
 
sleep太恶心了
不能玩

 
呵呵,sleep确定有些XX,嗯,比较好的办法在《Windows网络编程》上有说。
 
后退
顶部