Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何使用sendSynchronousRequest维护连接会话_Iphone_Ios_Session_Nsurlconnection_Synchronous - Fatal编程技术网

Iphone 如何使用sendSynchronousRequest维护连接会话

Iphone 如何使用sendSynchronousRequest维护连接会话,iphone,ios,session,nsurlconnection,synchronous,Iphone,Ios,Session,Nsurlconnection,Synchronous,这是我的连接代码: - (void)sendData: (NSString*)someData { NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:nsURL] cachePolicy:NSURLRequestUseProtocolCachePol

这是我的连接代码:

- (void)sendData: (NSString*)someData {    
 NSMutableURLRequest *theRequest=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:nsURL]
                                                        cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                    timeoutInterval:180.0];
[theRequest setHTTPMethod:@"POST"];
[theRequest setTimeoutInterval:180.0];
[theRequest setHTTPBody:[sdata dataUsingEncoding:NSASCIIStringEncoding]];

NSError *error= nil;
NSData *result = [NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response error:&error];
}
每当我必须向用户发送一些请求时,我就会调用这个方法。但是,我希望维护一个特定的连接会话,并发送请求,而无需一次又一次地创建连接。(因为URL是一个安全连接,每次创建连接都会浪费很多时间)


我该怎么做?是否有任何方法可以在此类(其中写入sendData方法)中为连接创建全局对象,以便在该对象的生存期内,只有一个连接?

除了蜂窝网络提供商的限制之外,保持连接打开的选择取决于服务器,而不是客户端。如果这是一个通过HTTPS的请求,那么您需要查看有关保持活动连接的服务器文档,并将超时增加到一个对您的应用程序有意义的值

URL加载系统将自动重新使用与同一服务器的连接,前提是该服务器尚未关闭该连接


请注意,将服务器上的保持活动超时增加到一个较大的值将意味着服务器使用的资源可能会显著增加。

您真的打算保持连接打开(由于手机运营商的限制,连接无法正常工作->请参阅SocketIO的解决方法,也称长轮询)还是要保持登录会话?我正在尝试保持连接打开,因为这是一系列必须执行的requestresponse。如果我每次都创建一个连接,整个过程会变得非常缓慢。@NikitaP这些答案是否有用,或者问题是否仍然存在?@TommieC。嗯,对于我想做的事情没有具体的答案。因此,这个问题仍然悬而未决。只有一种方法可以保持连接打开,那就是在
didfishload
中创建一个异步请求,并完全使用它