如果socket.io已连接Alamofire未按预期工作,则始终会收到req time out错误。如果我禁用Socket.io
,Alamofire可以正常工作这是我得到的错误
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
在git https://github.com/Alamofire/Alamofire/issues/1545上报告了类似的问题,但没有答案。
我不知道我做错了什么!任何帮助将不胜感激
答案 0 :(得分:5)
我能够通过更改alamofire参数编码来解决此问题。
默认情况下,如果您没有传递任何编码参数,Alamofire会将编码设置为URLEncoding
。
对URLEncoding
和GET
请求使用DELETE
。
对所有其他请求使用JSONEncoding.default
(API应该支持此操作)。
仍然我不确定为什么它没有套接字工作而且没有使用套接字。