php - How do I respond to a POST request sent by Volley from a phone and add the contents into an SQL server?Get the solution ↓↓↓
I'm building an app where to user sends some data via a POST request to a php server and it takes the data and adds it into an SQL server, but I'm getting a TimeoutError from Volley. Anyone know what could be causing this?
To handle Android Volley Timeout you need to use RetryPolicy RetryPolicy
Volley provides an easy way to implement your RetryPolicy for your requests. Volley sets default Socket & ConnectionTImeout to 5 secs for all requests.
RetryPolicy is an interface where you need to implement your logic of how you want to retry a particular request when a timeout happens.
It deals with these three parameters
Timeout - Specifies Socket Timeout in millis per every retry attempt. Number Of Retries - Number of times retry is attempted. Back Off Multiplier - A multiplier which is used to determine exponential time set to socket for every retry attempt.
For ex. If RetryPolicy is created with these values
Timeout - 3000 ms, Num of Retry Attempts - 2, Back Off Multiplier - 2.0
Retry Attempt 1:
time = time + (time * Back Off Multiplier); time = 3000 + 6000 = 9000ms Socket Timeout = time; Request dispatched with Socket Timeout of 9 Secs
Retry Attempt 2:
time = time + (time * Back Off Multiplier); time = 9000 + 18000 = 27000ms Socket Timeout = time; Request dispatched with Socket Timeout of 27 Secs
So at the end of Retry Attempt 2 if still Socket Timeout happens Volley would throw a TimeoutError in your UI Error response handler.
//Set a retry policy in case of SocketTimeout & ConnectionTimeout Exceptions. //Volley does retry for you if you have specified the policy. jsonObjRequest.setRetryPolicy(new DefaultRetryPolicy(5000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Share solution ↓
Link To Answer People are also looking for solutions of the problem: installation failed, reverting ./composer.json and ./composer.lock to their original content
Didn't find the answer?
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Find the answer in similar questions on our website.
Write quick answer
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.