Запрос Alamofire всегда терпит неудачу с "Тайм-аут запроса", если Socket.io подключен

если socket.io подключен. Alamofire работает не так, как ожидалось, всегда получая ошибку тайм-аута req. Alamofire работает, если отключить 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

вид аналогичной проблемы представлен на git https://github.com/Alamofire/Alamofire/issues/1545, но нет ответов.

Я не знаю, что я делаю неправильно! Любая помощь будет оценена

Ответ 1

Мне удалось исправить эту проблему, изменив кодировку параметров alamofire. По умолчанию Alamofire устанавливает кодировку URLEncoding, если вы не передаете какой-либо аргумент кодировки. Используйте URLEncoding для запроса GET и DELETE. Используйте JSONEncoding.default для всех других запросов (API должен иметь поддержку для этого).

Тем не менее, я не уверен, почему он работал без сокета и не работал с сокетом.