Tôi gặp sự cố lạ khi tôi sử dụng API của mình từ ứng dụng của mình. Đôi khi, không có lý do, yêu cầu được chỉ không được gửi, và nó không thành công vào cuối của time-out với các lỗi sau:Yêu cầu không được gửi
Error Domain=NSURLErrorDomain Code=-1001 "The request timed out."
Tôi đã thử nhiều API như NSURLConnection
đại biểu, NSURLSession
và NSURLConnection.sendSynchronousRequest
không sự thành công.
Đây là dự án mẫu tôi đã thực hiện để làm nổi bật vấn đề. ConnectionBugApp
Dưới đây là các bước để tái sản xuất:
- Chạy ứng dụng trong Xcode và dừng debug chỉ để ứng dụng trên điện thoại của bạn
- mở ứng dụng, nhấp Test Connection (nó thành công, bánh xe tải dừng quay ngay sau)
- Chuyển đến các ứng dụng khác như trò chơi trên mạng/facebook/mạng (somes hơi nặng) và chuyển sang chế độ trên máy bay vài lần
- Quay lại ứng dụng của tôi và nhấp Kiểm tra kết nối (tải bánh xe không bao giờ dừng)
Một vài chi tiết có thể giúp:
Nếu tôi sử dụng IP máy chủ của tôi thay cho tên miền của tôi, nó thành công
Issue chỉ xuất hiện khi trên mạng LTE/4G
Bất kỳ ý tưởng hoặc giải pháp nào đều sẽ được đánh giá cao! Vui lòng hỏi thêm chi tiết.
Cảm ơn
EDIT
Tôi đã chỉnh sửa mô tả rất nhiều kể từ khi tôi lần đầu tiên đăng nó (hy vọng trở nên sáng sủa và rõ ràng hơn), tôi xin lỗi nếu số câu trả lời hoặc bình luận don' t thực sự có ý nghĩa nữa.
Nếu bạn sử dụng API NSURLSession, sự cố có tái tạo không? –
@LeoNatan, yep Tôi có cùng một vấn đề với 'NSURLSession' – streem
Bạn thấy gì ở phía máy chủ? Bạn có thấy máy chủ chấp nhận kết nối máy khách hoặc thậm chí không đến được máy chủ không? Tôi muốn nói nó giống như một nơi nào đó trong máy chủ của bạn, bạn đang bỏ kết nối. Một bức tường lửa có lẽ. –