package mrcToolkit.mobilerelayscontroller; import android.util.Log; import java.io.*; import java.net.InetAddress; import java.net.Socket; public class TCPClient { private String serverMessage; public static final String SERVERIP = "198.162.50.108"; public static final int SERVERPORT = 7890; private OnMessageReceived mMessageListener = null; private boolean mRun = false; PrintWriter out; BufferedReader in; public TCPClient(OnMessageReceived listener){ this.mMessageListener = listener; } public void sendMessage(String message){ if(out != null && !out.checkError()){ this.out.println(message); this.out.flush(); } } public void stopClient(){ this.mRun = false; } public void run(){ this.mRun = false; try{ InetAddress serverAddr = InetAddress.getByName(SERVERIP); Log.e("TCP Client", "C: Connecting..."); Socket socket = new Socket(serverAddr, SERVERPORT); try{ out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true); Log.e("TCP Client", "C: Sent."); Log.e("TCP Client", "C: Done."); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); while(this.mRun){ serverMessage = in.readLine(); if(serverMessage != null && mMessageListener != null){ mMessageListener.messageReceived(serverMessage); } serverMessage = null; } Log.e("RESPONSE FROM SERVER","S: Received Message : '"+serverMessage+"'"); }catch(Exception e){ Log.e("TCP","S: Error",e); }finally{ socket.close(); } }catch(Exception e){ Log.e("TCP","C: Error",e); } } public interface OnMessageReceived{ public void messageReceived(String message); } }