是否可以在例如Alamofire中限制上传操作的带宽?
我想在用户使用应用程序的同时在后台上传数据,然后上传和下载更重要的内容.
因此,我想在特定情况下限制后台带宽.
我到目前为止找到的唯一可能是使用ASIHTTPRequest,它有一个maxBandwidthPerSecond属性,但是这个库太旧了,我想用更新的东西.
Chilkat API提供了一种CKOSocket()限制使用带宽的可能性,如下所示:
// To use bandwidth throttling, the connection should be made using the socket API.
// This provides numerous properties to customize the connection, such as
// BandwidthThrottleDown, BandwidthThrottleUp, ClientIpAddress, ClintPort, Http Proxy,
// KeepAlive, PreferIpv6, RequireSslCertVerify, SoRcvBuf, SoSndBuf, SoReuseAddr,
// SOCKS proxy, TcpNoSDelay, TlsPinSet, TlsCipherSuite, SslAllowedCiphers, etc.
let socket = CkoSocket()
var maxWaitMs: Int = 5000
var success: Bool = socket.Connect("content.dropboxapi.com", port: 443, ssl: true, maxWaitMs: maxWaitMs)
if success != true {
print("\(socket.LastErrorText)")
print("Connect Fail Reason: \(socket.ConnectFailReason.integerValue)")
return
}
// Set the upload bandwidth throttle rate to 50000 bytes per second.
socket.BandwidthThrottleUp = 50000
Run Code Online (Sandbox Code Playgroud)
检查此以获取更多文档。
文档中的示例演示了如何通过 REST API 使用上传带宽限制。它将使用文件流将文件上传到 Drobox,但可用于传输的带宽受到限制。
| 归档时间: |
|
| 查看次数: |
627 次 |
| 最近记录: |