2017-05-03 19 views
12

nếu socket.io được kết nối với Alamofire không hoạt động như mong đợi, luôn luôn bị lỗi thời gian chờ. Alamofire hoạt động nếu tôi vô hiệu hóa Socket.ioYêu cầu Alamofire luôn thất bại với "Yêu cầu hết thời gian" nếu Socket.io được kết nối

đây là lỗi tôi nhận được

Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." 
UserInfo={NSUnderlyingError=0x60800044c720 
{Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" 
UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, 
NSErrorFailingURLStringKey=https://enpoint.json, NSErrorFailingURLKey=https://enpoint.json, 
_kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.} 

và điều này

_tcp_connection_write_eof_block_invoke Write close callback received error: [89] Operation canceled 

loại vấn đề tương tự như báo cáo trên git https://github.com/Alamofire/Alamofire/issues/1545 nhưng không có câu trả lời.

Tôi không biết mình đang làm gì sai! Mọi trợ giúp sẽ được đánh giá cao

Trả lời

4

Tôi đã có thể khắc phục vấn đề này bằng cách thay đổi mã hóa tham số alamofire. Theo mặc định, Alamofire đặt mã hóa thành URLEncoding nếu bạn không chuyển bất kỳ đối số mã hóa nào. Sử dụng URLEncoding cho yêu cầu GETDELETE. Sử dụng JSONEncoding.default cho tất cả các yêu cầu khác (API phải có hỗ trợ cho việc này).

Tôi vẫn không chắc tại sao nó hoạt động với ổ cắm và không hoạt động với ổ cắm.

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