Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.73 KB | None | 0 0
  1. package com.example.rootshell.motion;
  2.  
  3. import android.util.Log;
  4.  
  5. import java.io.BufferedReader;
  6. import java.io.IOException;
  7. import java.io.InputStream;
  8. import java.io.InputStreamReader;
  9. import java.net.ServerSocket;
  10. import java.net.Socket;
  11.  
  12. /**
  13.  * Created by Bryan  Cairns on 1/23/17.
  14.  */
  15.  
  16. public class TCPServer {
  17.  
  18.     private Thread socketServerThread;
  19.     private serverThread server;
  20.  
  21.     public void listen(int port)
  22.     {
  23.         //serverThread server = new serverThread();
  24.         socketServerThread = new Thread(new serverThread());
  25.         //server.port = port;
  26.         socketServerThread.start();
  27.     }
  28.  
  29.     public void close() {
  30.         if(socketServerThread != null)
  31.         {
  32.             try {
  33.                 server.terminate();
  34.                 socketServerThread.join();
  35.             } catch (InterruptedException e) {
  36.                 e.printStackTrace();
  37.             }
  38.         }
  39.     }
  40.  
  41.     private class serverThread extends Thread
  42.     {
  43.         public ServerSocket serverSocket;
  44.         public int port = 2000;
  45.         private volatile boolean running = true;
  46.  
  47.         public void terminate() {
  48.  
  49.             try {
  50.                 //running = false;
  51.                 serverSocket.close();
  52.             } catch (IOException e) {
  53.                 e.printStackTrace();
  54.             }
  55.         }
  56.  
  57.         @Override
  58.         public void run()
  59.         {
  60.             try {
  61.  
  62.                 Log.d(AppConstants.tag,"Server starting...");
  63.                 serverSocket = new ServerSocket(port);
  64.  
  65.                 Log.d(AppConstants.tag,"Server started and listening...");
  66.                 while(running)
  67.                 {
  68.                     Log.d(AppConstants.tag,"Server listening...");
  69.                     Socket socket = serverSocket.accept();
  70.                     InputStream istream = socket.getInputStream();
  71.                     BufferedReader r = new BufferedReader(new InputStreamReader(istream));
  72.                     StringBuilder strBuilder = new StringBuilder();
  73.                     String line;
  74.                     while ((line = r.readLine()) != null) {
  75.                         Log.d(AppConstants.tag,"Server reading line: " + line);
  76.                         strBuilder.append(line).append('\n');
  77.                         Log.d(AppConstants.tag,"Server strBuilder: " + strBuilder.toString());
  78.                         socket.close();
  79.  
  80.                         break;
  81.                     }
  82.  
  83.                     String command = strBuilder.toString();
  84.  
  85.                     //Do something with the command
  86.                     Log.d(AppConstants.tag,"command: " + command);
  87.                 }
  88.  
  89.             } catch (IOException e) {
  90.                 e.printStackTrace();
  91.             }
  92.         }
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement