I tried to convert it to object-oriented (Delphi), Sender has been completed. Good results, the performance did not decrease, the structure is more clear. Also deepened my understanding of it! Thanks Alain!
------------------ Original ------------------ From: "Alain Knaff"alain@knaff.lu; Date: 2010年4月24日(星期六) 晚上9:30 To: "HouSoft"hou@yryz.net; Subject: Re: [Udpcast] About Udpcast FLAG_SN
HouSoft wrote:
Hi AiLan:
Why use FLAG_SN, do not DSC_REDUCING or DSC_REDUCING the slice of size?
Thanks!
FLAG_SN (--full-duplex) means that the network supports full duplex, i.e. that acknowledgment data sent back from the receivers does not disturb new data sent from the sender to the receiver. This is the case with most networks today (when using a switch rather than a hub). Updcast can take advantage of this by starting to send the next slice before all acknowledgments of the previous one have been received.
DSC_REDUCING is used by the algorithm to find the optimal slice size. This algorithm is only used on half-duplex networks, and works by starting at a certain size, than keeping to add 25% slice size until transmission errors start showing up, and then reducing until transmission errors are gone. Such errors due to large slices can occur under certain timing conditions on half-duplex networks, and thus this algorithm is not needed in full duplex. Moreover, in full duplex mode, the slice size has no impact on performance, as the next slice can be transmitted right away, without needing to wait for the acknowledgments of the previous once.
Regards,
Alain