package soo.net; import java.io.*; import java.net.Socket; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.*; public class SocketTest extends Activity { EditText et1, et2; Button b1, b2, b3; Thread th; private Handler h = new Handler(){ @Override public void handleMessage(Message msg){ et1.append("Server >> " + msg.obj.toString() + "\n"); } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); et1 = (EditText)findViewById(R.id.editText01); et2 = (EditText)findViewById(R.id.editText02); b1 = (Button)findViewById(R.id.button01); b2 = (Button)findViewById(R.id.button02); b3 = (Button)findViewById(R.id.button03); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { connect(); } }); b2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String msg = et2.getText().toString(); write(msg); et1.append(msg + "\n"); et2.setText(""); } }); b3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { th = new Thread(new Runnable(){ String str = ""; @Override public void run(){ try{ while(true){ str = dis.readUTF(); Log.i("server MSG : ", str); Message msg = h.obtainMessage(); msg.obj = str; //et1.append("Server >> " + str + "\n"); SocketTest.this.h.sendMessage(msg); } }catch(Exception e){ Log.e("th-run()" , e.toString()); } } }); th.start(); } }); } private Socket s; private InputStream is; private OutputStream os; private DataInputStream dis; private DataOutputStream dos; private void connect(){ try{ s = new Socket("192.168.0.42", 5000); Log.i("socket created", s.toString()); is = s.getInputStream(); os = s.getOutputStream(); dis = new DataInputStream(is); dos = new DataOutputStream(os); }catch(Exception e){ Log.e("socket not exists", s.toString()); } } private void write(String msg){ try{ dos.writeUTF(msg); dos.flush(); }catch(IOException ie){ } } }