Android Open Source - SocketPlugin Server






From Project

Back to project page SocketPlugin.

License

The source code is released under:

MIT License

If you think the Android project SocketPlugin listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.javacodegeeks.android.androidsocketserver;
//from   w w  w  .ja  v  a  2  s.co  m
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;

public class Server extends Activity {
  private ServerSocket serverSocket;
  private TextView text;
  
  Handler updateConversationHandler;
  Thread serverThread = null;
  
  public static final int SERVERPORT = 6000;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    text = (TextView)findViewById(R.id.text2);

    updateConversationHandler = new Handler();

    this.serverThread = new Thread(new ServerThread());
    this.serverThread.start();
  }

  @Override
  protected void onStop() {
    super.onStop();
    try {
      serverSocket.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

  class ServerThread implements Runnable {
    public void run() {
      Socket socket = null;
      try {
        serverSocket = new ServerSocket(SERVERPORT);
      } catch (IOException e) {
        e.printStackTrace();
      }
      while (!Thread.currentThread().isInterrupted()) {
        try {
          socket = serverSocket.accept();

          CommunicationThread commThread = new CommunicationThread(socket);
          
          new Thread(commThread).start();

        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
  }

  class CommunicationThread implements Runnable {
    private Socket clientSocket;
    private BufferedReader input;

    public CommunicationThread(Socket clientSocket) {
      this.clientSocket = clientSocket;
      try {
        this.input = new BufferedReader(new InputStreamReader(this.clientSocket.getInputStream()));

      } catch (IOException e) {
        e.printStackTrace();
      }
    }

    public void run() {    
      while (!Thread.currentThread().isInterrupted()) {
        try {
          String read = input.readLine();
          updateConversationHandler.post(new updateUIThread(read));          
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
  }

  class updateUIThread implements Runnable {
    private String msg;

    public updateUIThread(String str) {
      this.msg = str;
    }

    @Override
    public void run() {
      
      if(Util.isNumeric(msg)){
        msg = "Number Identified, sum itself: " + this.sum(Integer.parseInt(msg), Integer.parseInt(msg));
      }
      
      text.setText(text.getText().toString()+"Client Says: "+ msg + "\n");
    }
    
    public String sum(int a, int b){
      int product = 0;
      
      product = a + b; 
      
      return String.valueOf(product);
    }
  }
  
  static class Util {
    public static boolean isNumeric(String str) {
        return str.matches("-?\\d+(\\.\\d+)?");  //match a number with optional '-' and decimal.
      }
  }
}




Java Source Code List

com.javacodegeeks.android.androidsocketserver.Server.java
com.phonegap.plugins.socket.SocketConnect.java
com.phonegap.plugins.socket.SocketPlugin.java
com.phonegap.plugins.socket.SocketPlugin.java
com.squareup.okhttp.Address.java
com.squareup.okhttp.ConnectionPool.java
com.squareup.okhttp.Connection.java
com.squareup.okhttp.HttpResponseCache.java
com.squareup.okhttp.OkHttpClient.java
com.squareup.okhttp.OkResponseCache.java
com.squareup.okhttp.ResponseSource.java
com.squareup.okhttp.Route.java
com.squareup.okhttp.TunnelRequest.java
com.squareup.okhttp.internal.AbstractOutputStream.java
com.squareup.okhttp.internal.Base64.java
com.squareup.okhttp.internal.DiskLruCache.java
com.squareup.okhttp.internal.Dns.java
com.squareup.okhttp.internal.FaultRecoveringOutputStream.java
com.squareup.okhttp.internal.NamedRunnable.java
com.squareup.okhttp.internal.Platform.java
com.squareup.okhttp.internal.StrictLineReader.java
com.squareup.okhttp.internal.Util.java
com.squareup.okhttp.internal.http.AbstractHttpInputStream.java
com.squareup.okhttp.internal.http.AbstractHttpOutputStream.java
com.squareup.okhttp.internal.http.HeaderParser.java
com.squareup.okhttp.internal.http.HttpAuthenticator.java
com.squareup.okhttp.internal.http.HttpDate.java
com.squareup.okhttp.internal.http.HttpEngine.java
com.squareup.okhttp.internal.http.HttpResponseCache.java
com.squareup.okhttp.internal.http.HttpTransport.java
com.squareup.okhttp.internal.http.HttpURLConnectionImpl.java
com.squareup.okhttp.internal.http.HttpsURLConnectionImpl.java
com.squareup.okhttp.internal.http.OkResponseCacheAdapter.java
com.squareup.okhttp.internal.http.OkResponseCache.java
com.squareup.okhttp.internal.http.RawHeaders.java
com.squareup.okhttp.internal.http.RequestHeaders.java
com.squareup.okhttp.internal.http.ResponseHeaders.java
com.squareup.okhttp.internal.http.RetryableOutputStream.java
com.squareup.okhttp.internal.http.RouteSelector.java
com.squareup.okhttp.internal.http.SpdyTransport.java
com.squareup.okhttp.internal.http.Transport.java
com.squareup.okhttp.internal.http.UnknownLengthHttpInputStream.java
com.squareup.okhttp.internal.spdy.IncomingStreamHandler.java
com.squareup.okhttp.internal.spdy.Ping.java
com.squareup.okhttp.internal.spdy.Settings.java
com.squareup.okhttp.internal.spdy.SpdyConnection.java
com.squareup.okhttp.internal.spdy.SpdyReader.java
com.squareup.okhttp.internal.spdy.SpdyStream.java
com.squareup.okhttp.internal.spdy.SpdyWriter.java
org.apache.cordova.App.java
org.apache.cordova.AuthenticationToken.java
org.apache.cordova.CallbackContext.java
org.apache.cordova.Config.java
org.apache.cordova.CordovaActivity.java
org.apache.cordova.CordovaArgs.java
org.apache.cordova.CordovaChromeClient.java
org.apache.cordova.CordovaInterface.java
org.apache.cordova.CordovaPlugin.java
org.apache.cordova.CordovaResourceApi.java
org.apache.cordova.CordovaWebViewClient.java
org.apache.cordova.CordovaWebView.java
org.apache.cordova.DirectoryManager.java
org.apache.cordova.DroidGap.java
org.apache.cordova.ExifHelper.java
org.apache.cordova.ExposedJsApi.java
org.apache.cordova.FileHelper.java
org.apache.cordova.IceCreamCordovaWebViewClient.java
org.apache.cordova.JSONUtils.java
org.apache.cordova.LOG.java
org.apache.cordova.LinearLayoutSoftKeyboardDetect.java
org.apache.cordova.NativeToJsMessageQueue.java
org.apache.cordova.PluginEntry.java
org.apache.cordova.PluginManager.java
org.apache.cordova.PluginResult.java
org.apache.cordova.ScrollEvent.java
org.apache.cordova.Whitelist.java
org.devgirl.calendar.Calendar.java