Implementing push technology connection with POST (HTTP) through persistent connection

General Tech Technology & Software 2 years ago

0 1 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Technology & Software related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

 

I am developing a text message type app.

The messages are communicated only in direction ((1)Server -> (n)Client)

  • Server: PHP (LAMP)
  • Clients: Android (Java)

One option is to ask to server every x seconds "new messages?". This option is not worth me because creating a HTTP connection every x seconds for each device is very expensive. For example 10 000 devices creating new connection every 5 seg. This option is like the system is working now.

Option two is that I want to implement, but I don't know how do it in (Java-PHP).

The idea is the following, based on push technology:

Maintain a connection from the client to the server open continuously. That connection will never transport any data.

When the server wants to send a message to a client, force close of continuous connection.

Then the client instantly receives the event that the connection has been closed. In this case the event of closed connection means "new messages", so the client will open POST connection to get data.

How can maintain an open connection between Java and PHP continuously and that the server has the ability to close it instantly?

This is working code for POST connection between java and PHP, to try if from this code is possible open connection indefinitely.

Php:

php    
    if (isset($_POST['myId']))
    {       $in = $_POST['myId'];               
            //(...)             
            echo $myResponse;               
    }        
?>

Java:

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(URL);                      

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair(key,content));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

HttpResponse response = httpclient.execute(httppost);

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.