package android.com; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketAddress; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class test extends Activity { /** Called when the activity is first created. */ Listen2 Th2 ; PrintWriter out;//Constructs a new PrintWriter with out as its target stream. Socket S; //on declare une socket s Listen Th;//create a new thread String VarG; Socket client; BufferedReader in; String A; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final Button ok = (Button) findViewById(R.id.Button01); final Button con = (Button) findViewById(R.id.Button02); final TextView T1 = (TextView) findViewById(R.id.TextView01); final TextView T3 = (TextView) findViewById(R.id.TextView03); final EditText evIPAdress = (EditText) findViewById(R.id.EditText01); final EditText evPort = (EditText) findViewById(R.id.EditText02); OnClickListener myhandle = new View.OnClickListener(){ public void onClick(View v) { try { int TCPport =Integer.parseInt((evPort.getEditableText().toString())); InetAddress sockaddr = InetAddress.getByName(evIPAdress.getEditableText().toString()); ServerSocket serveur = new ServerSocket(TCPport,1,sockaddr); T1.append("Recherche en cours... \r\n"); client = serveur.accept(); // client demande de cnx au serveur /* try { T1.append("connecté avec "+client.getInetAddress().getHostName()+"\r\n"); // T1.refreshDrawableState(); in = new BufferedReader(new InputStreamReader(client.getInputStream())); T1.append("--Start to listen !--\r\n"); while(true) { A=in.readLine(); if(A==null) break; T1.append(A+"\r\n"); }} catch(Exception EX) { T1.append("EX serveur //"+EX.getMessage()); } */ } catch(Exception EX) { T3.setText("EX PP //"+EX.getMessage()); } } }; ok.setOnClickListener(myhandle); OnClickListener clikcon = new View.OnClickListener(){ public void onClick(View v) { try { int TCPport =Integer.parseInt((evPort.getEditableText().toString())); InetAddress sockaddr = InetAddress.getByName(evIPAdress.getEditableText().toString()); S = new Socket(); SocketAddress sockaddrC = new InetSocketAddress(sockaddr,TCPport); S.connect(sockaddrC); T1.setText("!!!!!!!!!!!!!!!!!!"); //afficher le msg "connecte" dans l'EditText E1 /* try{ in = new BufferedReader(new InputStreamReader(S.getInputStream())); while(true) {A=in.readLine();//Lire le texte à partir d'un flux de caractères en entré if(A==null) break; T1.append(A+"\n\r");//Insérer du contenu, spécifiée par le paramètre, à la fin de chaque élément de l'ensemble des éléments appariés. } } catch(Exception Ex){ T1.append("EX client//"+Ex.getMessage()); } OutputStream A = S.getOutputStream(); out = new PrintWriter(A);// out : creation de nv PrintWriter out.write("zzzzzzzzzzzzzzzz"); out.flush(); S.close();//fermer sockeT out.close();//fermer le printWriter */ } catch(Exception e){ Toast.makeText(test.this, "bCon"+e.getMessage(), Toast.LENGTH_LONG).show(); } } }; con.setOnClickListener(clikcon); }} class Listen2 extends Thread { Socket client; ServerSocket serveur; TextView OS; BufferedReader in; String glString; public Listen2(ServerSocket serveur,TextView OS) { this.serveur=serveur; this.OS=OS; } @Override public void run(){ try { String S; OS.append("Recherche en cours... \r\n"); client = serveur.accept(); // client demande de cnx au serveur OS.append("connecté avec "+client.getInetAddress().getHostName()+"\r\n"); OS.refreshDrawableState(); in = new BufferedReader(new InputStreamReader(client.getInputStream())); OS.append("--Start to listen !--\r\n"); while(true) { S=in.readLine(); if(S==null) break; OS.append(S+"\r\n"); }} catch(Exception EX) { glString+="EX serveur //"+EX.getMessage(); } }} class Listen extends Thread {TextView ZON; Socket socket; BufferedReader in;//Lire le texte à partir d'un flux de caractères en entrée, mise en mémoire tampon des caractères de manière à fournir pour la lecture efficace des caractères public Listen(Socket socket,TextView ZON) throws Exception {// lire des octets et les décode en caractères this.socket=socket; this.ZON=ZON; } @Override public void run()//methode of runnable object {String S; try{ in = new BufferedReader(new InputStreamReader(socket.getInputStream())); while(true) {S=in.readLine();//Lire le texte à partir d'un flux de caractères en entré if(S==null) break; ZON.append(S+"\n\r");//Insérer du contenu, spécifiée par le paramètre, à la fin de chaque élément de l'ensemble des éléments appariés. } } catch(Exception Ex){ // ZON.append("EX client//"+Ex.getMessage()); } } }