1 |
package soo.net; |
---|
2 |
|
---|
3 |
import java.io.*; |
---|
4 |
import java.net.Socket; |
---|
5 |
|
---|
6 |
import android.app.Activity; |
---|
7 |
import android.os.Bundle; |
---|
8 |
import android.os.Handler; |
---|
9 |
import android.os.Message; |
---|
10 |
import android.util.Log; |
---|
11 |
import android.view.View; |
---|
12 |
import android.widget.*; |
---|
13 |
|
---|
14 |
public class SocketTest extends Activity { |
---|
15 |
EditText et1, et2; |
---|
16 |
Button b1, b2, b3; |
---|
17 |
Thread th; |
---|
18 |
|
---|
19 |
private Handler h = new Handler(){ |
---|
20 |
@Override |
---|
21 |
public void handleMessage(Message msg){ |
---|
22 |
et1.append("Server >> " + msg.obj.toString() + "\n"); |
---|
23 |
} |
---|
24 |
}; |
---|
25 |
|
---|
26 |
@Override |
---|
27 |
public void onCreate(Bundle savedInstanceState) { |
---|
28 |
super.onCreate(savedInstanceState); |
---|
29 |
setContentView(R.layout.main); |
---|
30 |
|
---|
31 |
et1 = (EditText)findViewById(R.id.editText01); |
---|
32 |
et2 = (EditText)findViewById(R.id.editText02); |
---|
33 |
b1 = (Button)findViewById(R.id.button01); |
---|
34 |
b2 = (Button)findViewById(R.id.button02); |
---|
35 |
b3 = (Button)findViewById(R.id.button03); |
---|
36 |
|
---|
37 |
b1.setOnClickListener(new View.OnClickListener() { |
---|
38 |
@Override |
---|
39 |
public void onClick(View v) { |
---|
40 |
connect(); |
---|
41 |
} |
---|
42 |
}); |
---|
43 |
b2.setOnClickListener(new View.OnClickListener() { |
---|
44 |
@Override |
---|
45 |
public void onClick(View v) { |
---|
46 |
String msg = et2.getText().toString(); |
---|
47 |
write(msg); |
---|
48 |
et1.append(msg + "\n"); |
---|
49 |
et2.setText(""); |
---|
50 |
} |
---|
51 |
}); |
---|
52 |
b3.setOnClickListener(new View.OnClickListener() { |
---|
53 |
@Override |
---|
54 |
public void onClick(View v) { |
---|
55 |
|
---|
56 |
th = new Thread(new Runnable(){ |
---|
57 |
String str = ""; |
---|
58 |
|
---|
59 |
@Override |
---|
60 |
public void run(){ |
---|
61 |
try{ |
---|
62 |
while(true){ |
---|
63 |
str = dis.readUTF(); |
---|
64 |
Log.i("server MSG : ", str); |
---|
65 |
Message msg = h.obtainMessage(); |
---|
66 |
msg.obj = str; |
---|
67 |
SocketTest.this.h.sendMessage(msg); |
---|
68 |
} |
---|
69 |
}catch(Exception e){ |
---|
70 |
Log.e("th-run()" , e.toString()); |
---|
71 |
} |
---|
72 |
} |
---|
73 |
}); |
---|
74 |
th.start(); |
---|
75 |
} |
---|
76 |
}); |
---|
77 |
} |
---|
78 |
|
---|
79 |
private Socket s; |
---|
80 |
private InputStream is; |
---|
81 |
private OutputStream os; |
---|
82 |
private DataInputStream dis; |
---|
83 |
private DataOutputStream dos; |
---|
84 |
|
---|
85 |
private void connect(){ |
---|
86 |
try{ |
---|
87 |
s = new Socket("192.168.0.42", 5000); |
---|
88 |
Log.i("socket created", s.toString()); |
---|
89 |
is = s.getInputStream(); |
---|
90 |
os = s.getOutputStream(); |
---|
91 |
dis = new DataInputStream(is); |
---|
92 |
dos = new DataOutputStream(os); |
---|
93 |
|
---|
94 |
}catch(Exception e){ |
---|
95 |
Log.e("socket not exists", s.toString()); |
---|
96 |
} |
---|
97 |
} |
---|
98 |
|
---|
99 |
private void write(String msg){ |
---|
100 |
try{ |
---|
101 |
dos.writeUTF(msg); |
---|
102 |
dos.flush(); |
---|
103 |
}catch(IOException ie){ |
---|
104 |
} |
---|
105 |
} |
---|
106 |
} |
---|
107 |
|
---|
108 |
|
---|
109 |
|
---|