من یک اپ نوشتم که برای ارتباط با سرور از رتروفیت استفاده کردم که از هفته پیش بدون این که تغییری توی اپ داده بشه دیدم که نمیتونه با سرور درست ارتباط برقرار کنه... اومد تست کردم یک پروژه جدید ساختم برای تست و یک بار با رتروفیت و یکبار با http ریکوئست فرستادم واسه سرور و http سالم کار میکرد ولی رتروفیت error time out میده.
@sepehr13494
سلام
چند روزی هست اینترنت مشکل داره و خیلی کند هست
خطای Timeout هم به همین خاطر هست
باید Request Timeout رو افزایش بدین
final OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(60, TimeUnit.SECONDS)
.connectTimeout(60, TimeUnit.SECONDS)
.build();
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.build();
خب پس چرا وقتی درخواست عادی با HttpURLConnection میزنم سریع میاره؟
یعنی به نظر شما درست میشه خودش؟ و اینکه متد شما رو هم تست کردم بعد از 60 ثانیه باز تایم اوت میده
@sepehr13494
شاید Timeout ها متفاوته خب
بله باید درست شه
چون نت ایران خیلی ضعیفه معمولا Timeout رو میبریم بالا
ببرین بالا بهتره
مشکل با اضافه کردن User-Agent به header حل شد به این شکل که در اینترفیس رتروفیت بالای هریک از درخواست ها کد:
@Headers("User-Agent: <Your-App-Name>")
رو اضافه کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟