自AnyChat SDK V4.1.0.1版本開始,AnyChat支持文件傳輸限速功能。默認設置下,AnyChat的文件傳輸以及緩衝區傳輸都是自動檢測網絡可用帶寬,並按“以最短的時間,最快的速度傳輸”的原則進行網絡傳輸,這種原則可以適應大部分的應用,但在部分應用中,需要預留一些帶寬給其它模塊,並不希望AnyChat的文件傳輸佔用所有的網絡帶寬,這種情況下就可以採用限速功能。
AnyChat文件傳輸限速功能是針對本地文件上傳進行設置,而且是控制總的上傳速率,如設置限速爲500kbps,則當同時傳輸1個文件時,最大上傳速度爲500kbps,如果同時上傳2個文件,則每個文件的最大上傳速度爲250kbps,依此類推。
BRAC_TransFile、BRAC_TransBufferEx兩個API均受傳輸限速功能控制。
傳輸限速接口定義如下:
1.
//
傳輸緩衝區、文件最大碼率控制(參數爲int型,0 不限制,以最快速率傳輸[默認], 否則表示限制碼率,單位爲:bps)
2.
#define
BRAC_SO_NETWORK_TRANSBUFMAXBITRATE 46
AnyChat平臺默認是關閉傳輸限速功能,開啓的方法可參考如下代碼(初始化SDK成功之後調用有效,可在需要的地方調用,動態調節):
1.
//
限制上傳速度爲500kbps(62kBps)
2.
DWORD
dwMaxUpRate
= 500 * 1000;
3.
BRAC_SetSDKOption(BRAC_SO_NETWORK_TRANSBUFMAXBITRATE,(
const
char
*)&dwMaxUpRate,
sizeof
(
DWORD
));
若要取消傳輸限速功能,可參考如下代碼:
1.
//
取消限速功能
2.
DWORD
dwMaxUpRate
= 0;
3.
BRAC_SetSDKOption(BRAC_SO_NETWORK_TRANSBUFMAXBITRATE,(
const
char
*)&dwMaxUpRate,
sizeof
(
DWORD
));