Alamofire请求总是失败,如果Socket.io连接“请求超时”
问题描述:
如果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,但没有答案。
我不知道我在做什么错!任何帮助,将不胜感激
答
我能够通过更改alamofire参数编码来解决此问题。 默认情况下,如果您未传递任何编码参数,Alamofire会将编码设置为URLEncoding
。 使用URLEncoding
代替GET
和DELETE
请求。 对所有其他请求使用JSONEncoding.default
(API应该支持这一点)。
仍然我不知道它为什么没有使用套接字工作,并没有与套接字工作。