Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

SOLVED: My app can send a request, but could not receive a response

wayne mahes:

i need to send request to the server and the server need to respond back a text string. Now when i click a button on android app it send request to my server and i can view it but i could not see the respond in the android app. it should be displaying the text in a textarea. below is my code in my android app.


package monitor;


import java.util.Enumeration;
import android.content.Context;
import android.os.Environment;
import android.text.format.Formatter;
import android.util.Log;
import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.HttpURLConnection;
import java.io.ObjectOutputStream;
import java.io.BufferedWriter;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.net.Socket;
import java.io.PrintWriter;
import android.os.Bundle;
import java.net.SocketException;
import java.net.UnknownHostException;


public class welcome extends AppCompatActivity {
private Socket s;
private Button status;
private Button client;
private Button log;
private TextView text;
private PrintWriter writer;

protected void onCreate(Bundle savedInstanceState) {

OutputStreamWriter request = null;
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome);
setupVariables();
final TextView mTextView = (TextView) findViewById(R.id.text);

status.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v)
{
Thread t = new Thread(){

@Override
public void run(){
//String serverMsg=null;
//String text = "test";
try {
System.out.println("Starting Connection");
Socket s = new Socket("10.0.2.2", 25000);
System.out.println("Connection DONE");
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
dos.writeUTF("stat");
dos.flush();

// Toast.makeText(getApplicationContext(), "Message sent to the server",
//Toast.LENGTH_SHORT).show();
//Intent intent=new Intent(welcome.this,status.class);
//startActivity(intent);
InputStream is = s.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
text = br.readLine();

dos.close();
s.close();
System.out.println("Closing socket");
}
catch (UnknownHostException e){
System.out.println("There was an Unknown Erorr:");
e.printStackTrace();
} catch (IOException e) {
System.out.println("There was an IOException:");
e.printStackTrace();
}
mTextView.setText(text);

}

};
t.start(); }
});

client.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
Thread t = new Thread(){
@Override
public void run(){
try {
System.out.println("Starting Connection");
Socket s = new Socket("10.0.2.2", 25000);
System.out.println("Connection DONE");
DataOutputStream dos = new DataOutputStream(s.getOutputStream());
dos.writeUTF("client");
InputStream is = s.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
text = br.readLine();
dos.close();
s.close();
System.out.println("Closing socket");
}
catch (UnknownHostException e){
System.out.println("There was an Unknown Erorr:");
e.printStackTrace();
} catch (IOException e) {
System.out.println("There was an IOException:");
e.printStackTrace();
}
mTextView.setText(text);
dos.flush();
dos.close();
s.close();
System.out.println("Closing socket");
}
catch (UnknownHostException e){
System.out.println("There was an Unknown Erorr:");
e.printStackTrace();
} catch (IOException e) {
System.out.println("There was an IOException:");
e.printStackTrace();
}
}
};
t.start();
}
});
log.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
Intent intent=new Intent(welcome.this,MainActivity.class); // redirecting to LoginActivity.
startActivity(intent);
}
});

}
public void onBackPressed() {
// empty so nothing happens
}
private void setupVariables() {

status = (Button) findViewById(R.id.wel2);
client = (Button) findViewById(R.id.wel3);
log = (Button) findViewById(R.id.iog);

}
}

Below is my server code.


import java.io.*;
import java.net.*;
import java.io.PrintWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.lang.Runtime;
import java.util.Enumeration;
import java.io.IOException;

public class fyp4 {

private static Socket socket;

public static void main(String[] args) throws IOException
{
try
{
int port = 25000;
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("Server Started and listening to the port 25000");
while(true)
{

//Reading the message from the client
socket = serverSocket.accept();
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
//Socket newSock = s.accept();
String number = br.readLine();
number = number.trim();
System.out.println("Message received from client is "+number);
OutputStream os = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
bw.write(returnMessage);
System.out.println("Message sent to the client is "+returnMessage);
bw.flush();
}
}
catch (Exception e)
{
e.printStackTrace();
}

finally
{
try
{
socket.close();
}
catch(Exception e){}
}
}
}



Posted in S.E.F
via StackOverflow & StackExchange Atomic Web Robots
This Question have been answered
HERE


This post first appeared on Stack Solved, please read the originial post: here

Share the post

SOLVED: My app can send a request, but could not receive a response

×

Subscribe to Stack Solved

Get updates delivered right to your inbox!

Thank you for your subscription

×