gpt4 book ai didi

iphone - NSURLConnection 运行多次

转载 作者:行者123 更新时间:2023-12-03 18:37:40 26 4
gpt4 key购买 nike

我每 5 秒与服务器异步连接一次。 URL 是相同的,但 POST-body 每次都会改变。现在我每次都从头开始创建 NSURL、NSURLRequest 和 NSURLConnection。

我认为设置一次连接并进一步使用该连接会更有效。我是新手,不确定这是否可能。没有可变的 NSURLConnection,但可能需要创建 NSURLConnection,例如:

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: url];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

并更改 NSMutableURLRequest POST-data 以向服务器发送另一个请求。哪种方式是正确的?

最佳答案

我假设您关心的是创建 HTTP 连接的开销。 NSURLConnection 足够智能,可以使用 HTTP/1.1 并重用现有连接来为您处理此问题。我上次检查时它没有使用管道,但出于您的目的,连接重用应该足够了。我确实鼓励您在上面安装一个网络嗅探器,并确保它按照您希望的方式工作。

创建对象本身的成本微不足道,大约每 5 秒一次,您不应该尝试优化它(尽管您当然应该重用 NSURL)。打开与服务器的连接是昂贵的,尤其是在 iPhone 上。

如果您发现确实需要管道,那么不幸的是您将不得不自己动手。我听说 CFHTTPStream 可以做到这一点,但我没有看到很多证据。 CocoaAsyncSocket 是您无需编写低级代码即可对套接字进行低级访问的最佳选择。

由于蜂窝网络的延迟可能非常严重,因此您的连接可能需要超过 5 秒才能完成。请确保在开始下一个连接之前完成一个连接,否则您将开始建立越来越多的开放连接。

关于iphone - NSURLConnection 运行多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/886810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com