I’m making an attempt to make a Get Request to a server endpoint. The endpoint is on a shared host that I management besides that I’ve minimal management over the SSL.
Just lately–I feel since IOS 18, after an asynchronous request, the app is hanging for 20 seconds or so earlier than returning outcomes and within the console I see as much as 10 or extra messages as follows:
tcp_input [C6.1.1:3] flags=[R] seq=19931096, ack=0, win=0 state=CLOSED rcv_nxt=19931096, snd_una=42308392
Apparently [R] means reset. The code making the request seems like this:
NSLog(@"beginning name NOW to url: %@",dataUrl);
NSURLSessionDataTask *information = [session dataTaskWithURL:dataUrl completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSLog(@"heard back from server");//This takes 20 seconds even when the data is just a few bytes
According to some posts, the tcp_input warnings are most likely a low level operating system warning that the TCP connection has been reset by the server. The consensus seems to be that this is most often due to a bad handshake over SSL.
My webhost suggested I upgrade from a free Let’s Encrypt certificate to a Domain Validated one from Comodo. Apparently the free one does not reference the domain.
Before I try this, however, if the issue is with Apple rejecting the SSL cert as of IOS 18 and then the server closing the request, then why does the server eventually return results after 20 seconds or so? Why the long delay but afterwards success? Every now and then it returns quickly but this is the exception.
I have tried this on various networks and I have also tested with an endpoint that just says “Hello World” but get the same delay.
I see this delay in FlexTool as well.
I should mention that when I load the page from a web browser, it loads instantly with no issues. The proble is specific to IOS.
Can anyone shed any light on why the long delay with TCP resets followed by success and how to debug and/or fix this issue?
Thanks for any suggestions