]> matita.cs.unibo.it Git - logicplayer.git/blobdiff - mainActivity/app/src/main/java/com/example/furt/myapplication/MyService.java
Ported to latest version of Android SDK
[logicplayer.git] / mainActivity / app / src / main / java / com / example / furt / myapplication / MyService.java
diff --git a/mainActivity/app/src/main/java/com/example/furt/myapplication/MyService.java b/mainActivity/app/src/main/java/com/example/furt/myapplication/MyService.java
new file mode 100644 (file)
index 0000000..acac481
--- /dev/null
@@ -0,0 +1,139 @@
+package com.example.furt.myapplication;
+
+import android.app.Service;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.IBinder;
+import android.util.Log;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.CertificateException;
+import java.util.Scanner;
+
+import javax.net.ssl.SSLSocket;
+import javax.net.ssl.SSLSocketFactory;
+
+public class MyService extends Service {
+
+    @Override
+    public int onStartCommand(final Intent intent, int flags, int startId)
+    {
+        final Context context=getApplicationContext();
+        /*System.setProperty("javax.net.ssl.trustStore", "mysrvkeystore");
+        //Log.e("onStartCommand",""+R.raw.mysrvkeystore);
+        System.setProperty("javax.net.ssl.trustStorePassword", "123456");
+
+
+
+        String inviotmp = intent.getStringExtra("code") + intent.getStringExtra("varInvio");
+
+        if(intent.getStringExtra("code").charAt(0)!='2')
+            inviotmp = inviotmp + intent.getStringExtra("varInvio2");
+        final String invio=inviotmp;
+        final Thread readthread;
+        readthread = new Thread(new Runnable() {
+            public void run() {
+                SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
+                //Socket socket = null;
+                SSLSocket socket = null;
+                try {
+                    int port = 25000;
+                   // socket = new Socket("10.0.0.2", port);
+                    socket=(SSLSocket) sslsocketfactory.createSocket("10.0.0.2", port);                    //Send the message to the server
+                    OutputStream os = socket.getOutputStream();
+                    OutputStreamWriter osw = new OutputStreamWriter(os);
+                    BufferedWriter bw = new BufferedWriter(osw);
+
+                    //String number = "2";
+
+                    String sendMessage = invio+"\n";
+                    bw.write(sendMessage+"\n");
+                    bw.flush();
+                    System.out.println("Message sent to the server : " + sendMessage);
+
+                    //Get the return message from the server
+                    InputStream is = socket.getInputStream();
+                    InputStreamReader isr = new InputStreamReader(is);
+                    BufferedReader br = new BufferedReader(isr);
+                    String message;
+                    message = br.readLine();
+                    System.out.println("Message received from the server : " + message);
+                } catch (Exception exception) {
+                    exception.printStackTrace();
+                } finally {
+                    //Closing the socket
+                    try {
+                        socket.close();
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+        });
+
+        readthread.start();*/
+        final Thread readthread;
+        readthread = new Thread(new Runnable() {
+            public void run() {
+                InputStream certificato = getResources().openRawResource(R.raw.keystore);
+                KeyStore trustStore = null;
+                try
+                {
+                    trustStore = KeyStore.getInstance("BKS");
+                    trustStore.load(certificato, "123stella".toCharArray());
+                    SSLSocketFactory fs = (SSLSocketFactory) SSLSocketFactory.getDefault();
+                    SSLSocket socket = (SSLSocket) fs.createSocket("10.0.0.2", 25000);
+                    Log.e("", "miracolo");
+
+                    InputStream inputstream = System.in;
+                    InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
+                    BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
+
+                    OutputStream os = socket.getOutputStream();
+                    OutputStreamWriter osw = new OutputStreamWriter(os);
+                    BufferedWriter bw = new BufferedWriter(osw);
+
+                    String sendMessage ="brova";
+                    bw.write(sendMessage+"\n");
+                    bw.flush();
+
+                    System.out.println("Message sent to the server : " + sendMessage);
+                }
+                catch (KeyStoreException e)
+                {
+                    e.printStackTrace();
+                }
+                catch (CertificateException e)
+                {
+                    e.printStackTrace();
+                }
+                catch (NoSuchAlgorithmException e)
+                {
+                    e.printStackTrace();
+                }
+                catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        });
+        readthread.start();
+        return 0;
+    }
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        return null;
+    }
+}