2010-08-29 28 views
6

Tôi có một lỗi nhỏ trong ứng dụng khách hàng sử dụng NSURLConnection. Tôi đã theo dõi nó xuống đến một kết nối bất ngờ giữ sống mà dường như gây nhầm lẫn cho máy chủ web (có thể là một lỗi ở phía máy chủ). Giải pháp thay thế sẽ là buộc đóng tất cả các kết nối xuất sắc tại một thời điểm nhất định. Tôi có thể làm điều này bằng cách nào đó với NSURLConnection, ví dụ: một cái gì đó giống nhưNSURLConnection and keep-alive

[NSURLConnection closeAllIdleConnections];

+0

Tôi có cùng sự cố nhưng với UIWebView. Câu trả lời ASIHTTPRequest không giúp nhiều trong trường hợp này. – titaniumdecoy

Trả lời

1

ASIHTTPRequest có phương thức hết hạnPersistentConnections. Nó có thể làm những gì bạn đang tìm kiếm.

Nó không phải là một thay thế thả cho NSURLConnection, nhưng nó không quá khó để mã cổng từ NSURLConnection để ASIHTTPRequest.

+0

Mẹo hay. Cảm ơn! – Krumelur

0

Tôi nghĩ bạn có thể muốn xem xét các phương pháp sau đây được định nghĩa cho NSURLConnections. Điều này giả định rằng bạn đã thực hiện cuộc gọi không đồng bộ. Nếu nó không phải là một cuộc gọi không đồng bộ, thì có lẽ nó nên như vậy.

hủy Hủy tải không đồng bộ là yêu cầu.

  • (void) hủy

Thảo luận Khi phương pháp này được gọi là, đại biểu của người nhận sẽ không còn nhận bất kỳ tin nhắn cho NSURLConnection này.

Hy vọng điều này sẽ hữu ích. Andrew.

+0

Cảm ơn bạn, tôi đã thử hủy kết nối sau khi kết thúc, nhưng dường như nó không hoạt động theo cách đó (loại logic, tôi đoán là ...). Vấn đề là tất nhiên là tôi không muốn hủy yêu cầu, nhưng đóng kết nối. Tôi đoán tôi đã thất bại trong việc outsmart NSURLConnection ... – Krumelur

Các vấn đề liên quan