2011-12-05 1 views
2

나는 CFHttpNSUrlConnection을 사용하고있었습니다. 이러한 클래스는 http 보내기 및 받기를 할 때마다 새 연결을 만듭니다.iOS : Keep Http connection 열기

기본적으로 내 모든 송수신을 수행하려면 단일 연결이 필요합니다.

연결 열기 -> http 요청 보내기 -> http 응답 받기 -> http 요청 보내기 -> http 응답 받기 -> 연결 닫기.

이렇게하는 방법이 있습니까?

+0

zeromq 라이브러리를 사용해보십시오. 커넥션의 다른 쪽을 zeromq에도 구현해야한다. – Eimantas

답변

2

NSUrlConnection은 HTTP 1.1 프로토콜을 통해 연결을 자동으로 열어두고 다시 사용합니다. (accepted answer 참조). 기본 동작을 수정하기 위해 무언가를하지 않는 한,이 작업을 수행해야합니다.

네트워크 스니퍼를 사용하여 연결 재사용이 발생했는지 여부를 확인하고 연결이 끊어져서 다음 요청시 다시 열릴 수있는 시간을 확인하는 것이 좋습니다. Wireshark은 훌륭한 프로토콜을 지원하는 뛰어난 네트워크 분석기입니다.

타사 라이브러리를 사용할 수도 있습니다. AFNetworking은 훌륭하고, 잘 디자인되어 있으며, 좋은 언론을 얻습니다. (저는 ASIHttpRequest를 사용 했었지만, 최근에는 능동적 인 개발에서 물러 났으며 코드 구조는 더 획일적입니다.)

+0

iOS 9.3을 사용하고 있는데, http를 생존 상태로 유지할 수없는 것 같습니다. 한번보세요 http://stackoverflow.com/questions/38773688/ios-doesnt-to-use-http-keep-alive-very-high-latency –

관련 문제