2017-05-03 135 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应该支持这一点)。

仍然我不知道它为什么没有使用套接字工作,并没有与套接字工作。