2017-05-03 70 views
12

eğer socket.io bağlanmışsa, Alamofire beklendiği gibi çalışmıyor, her zaman yeniden zaman aşımı hatası alıyor. i Socket.ioAlamofire isteği, Socket.io bağlıysa "İstek zaman aşımına uğradı" ile başarısız olur.

devre dışı bırakırsanız Alamofire bu i

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.} 

alıyorum hatadır ve benzeri konunun bu

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

tür Git https://github.com/Alamofire/Alamofire/issues/1545 ama hiçbir yanıtlara bildirildi çalışır.

Neyi yanlış yaptığımı bilmiyorum! Herhangi bir yardım için teşekkür ederiz

cevap

4

Bu sorunu, alamofire parametre kodlamasını değiştirerek düzeltebildim. Varsayılan olarak, Alamofire herhangi bir kodlama argümanını geçmiyorsanız kodlamayı URLEncoding olarak ayarlar. ve DELETE için URLEncoding kullanın. Diğer tüm istekleriniz için JSONEncoding.default kullanın (API bunun için desteğe sahip olmalıdır).

Yine de neden soket ile çalışmıyor ve soket üzerinde çalışmıyor olduğundan emin değilim.