Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to disable keepalive in NSURLConnection?

Is there any way to force NSURLConnection to not reuse the current persistent connection but to create a new one ?

I am trying to defend myself from this known iOS8 keep-alive bug

If iOS 8 receives a HTTP response with a Keep-Alive header, it keeps this connection to re-use later (as it should), but it keeps it for more than the timeout parameter of the Keep-Alive header and then when a second request comes it tries to re-use a connection that has been dropped by the server.

I am looking for a way to solve this issue from Objective c rather than solving from server side.

If any third party libraries provides a way to ignore Keep-alive header then its also welcome.

This issue is somewhat related to following issues(1,2)

Any help is appreciated !

like image 699
Durai Amuthan.H Avatar asked Oct 16 '25 22:10

Durai Amuthan.H


1 Answers

The only way I found is to use CFNetwork. Higher level API such as NSURLConnection or NSURLSession's Connection header will be overwritten by system.

like image 123
an0 Avatar answered Oct 19 '25 09:10

an0