2013-02-06 23 views
12

Chúng tôi hiện đang xử lý các vấn đề về hiệu suất trong ứng dụng của mình và chúng tôi tin rằng một số vấn đề này có thể liên quan đến thực tế là ứng dụng và ngăn xếp mạng AFNetworking cơ bản dường như bỏ qua việc lưu giữ trên HTTP 1.1.AFNetworking/NSURLConnection HTTPS tiếp tục hiển thị hành vi lạ

Chúng tôi nhận được thông tin từ Apple rằng các kết nối liên tục bị xóa sau 3, 6 hoặc 30 giây tương ứng, tùy thuộc vào phiên bản iOS và kết nối WiFi/WWAN, bất kể thông tin giữ lại phía máy chủ.

Trong khi theo dõi bắt tay kết nối trên máy chủ, chúng tôi nhận thấy hành vi lạ khi kết nối SSL từ ứng dụng của chúng tôi trên thiết bị iOS được mở và không đóng gói FIN. Ngay sau khi yêu cầu mới được thực hiện từ ứng dụng, kết nối trái qua từ yêu cầu trước đó là THEN đã đóng với gói FIN và kết nối mới được tạo.

Mặc dù chúng tôi hiểu rằng iOS thanh lọc các kết nối để giữ mức tiêu thụ pin thấp, chúng tôi tự hỏi rằng nó không chấm dứt kết nối hiện tại đúng cách và ngăn chặn việc chấm dứt yêu cầu mới.

Ai đó có thể giải thích hành vi này và đề xuất các giải pháp để tránh bắt tay SSL đắt tiền trong các kết nối được bảo vệ bằng cách giữ trong điều kiện bình thường?

+0

Phiên bản iOS nào bị ảnh hưởng? – Adam

+1

Sesinion WWDC nào? Bằng cách này, kết nối liên tục được xử lý bởi lớp CFNetwork. Và theo như tôi biết, không có API để thay đổi hành vi. Bạn có thể xem ASIHttpRequest hỗ trợ kết nối như thế nào. Vì vậy, vấn đề này không liên quan đến AFNetworking hoặc NSURLConnection. Và tôi đoán rất có thể chúng tôi không có gì để làm. –

+0

@Adam - Theo như tôi biết từ iOS 8 ảnh hưởng của nó. Đây là một câu hỏi khác có liên quan đến http://stackoverflow.com/q/29063803/730807 –

Trả lời

0

Tôi đã gặp phải sự cố tương tự vài tuần trước. Giải pháp là để buộc máy chủ web bỏ qua tiêu đề http keepalive từ thiết bị iOs và đóng kết nối ngay lập tức.

+0

bạn muốn nói rằng bạn đã định cấu hình máy chủ web trong một cách không hỗ trợ kết nối tiếp tục để sự cố không xảy ra –