2017-05-03 168 views
12

如果socket.io連接Alamofire沒有按預期工作,總是得到req超時錯誤。 Alamofire工作,如果我禁用Socket.ioAlamofire請求總是失敗,如果Socket.io連接「請求超時」

這是我得到

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

錯誤,這

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

一種類似問題的報告混帳https://github.com/Alamofire/Alamofire/issues/1545,但沒有答案。

我不知道我在做什麼錯!任何幫助,將不勝感激

回答

4

我能夠通過更改alamofire參數編碼來解決此問題。 默認情況下,如果您未傳遞任何編碼參數,Alamofire會將編碼設置爲URLEncoding。 使用URLEncoding代替GETDELETE請求。 對所有其他請求使用JSONEncoding.default(API應該支持這一點)。

仍然我不知道它爲什麼沒有使用套接字工作,並沒有與套接字工作。