I iwillgo2 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-02 #1 socket如何在发送数据之后把发送缓冲区的数据删除 相关问题:http://www.delphibbs.com/delphibbs/dispq.asp?lid=2151604
E ego Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-02 #2 呵呵,这个你不用操心,系统在发送数据之后会自动清空缓冲区数据的。 如果你发送数据不要求速度很快的话,可以在每次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;
呵呵,这个你不用操心,系统在发送数据之后会自动清空缓冲区数据的。 如果你发送数据不要求速度很快的话,可以在每次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;
E ego Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-04 #4 呵呵,sleep确定有些XX,嗯,比较好的办法在《Windows网络编程》上有说。