2014-12-01 4 views
0

Вскоре в нашем проекте используется сервер Thrift и мобильные клиенты с мультиплексированием.Воспитание клиентов-клиентов в iOS

Пока я разрабатывал клиент iOS, у меня возникла странная проблема;

Когда я впервые создал клиента и совершил звонки, все в порядке, и оно работает так, как ожидалось.

Поскольку для клиента Cocoa Thrift нет закрытого метода, я надеюсь, что ARC позаботится об этом.

Через некоторое время я создаю другого клиента для одной и той же службы и выполняю то же самое, но на этот раз, когда я совершил служебный вызов, клиент зависает и через какое-то время бросает «TTransportException», причина: Не могу прочитать. Удаленная сторона закрыта. '".

На сервере операция успешно завершена и возвращается значение.

Есть ли у кого-нибудь представление о том, что я делаю неправильно?

Заранее благодарен!

ответ

1

Прочитав ваш вопрос, я вспомнил, что мы столкнулись с очень похожими проблемами в совершенно другой среде. Если ARC заботится о вашем клиенте и закрывает соединение, особенно порт, это может быть причиной того, что повторное создание клиента с тем же портом является корнем вашей проблемы. Открытие такого же порта вскоре после закрытия может занять очень много времени (минут) в зависимости от тайм-аутов.

Извините, нет реального ответа на вашу проблему, но, возможно, намек должен был искать.

Смежные вопросы