root/trunk/24.SocketTest/src/soo/net/SocketTest.java

리비전 63, 2.6 kB (mefour에 의해 체크인됨, 15 년 전)

--

Line 
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
참고: 소스 브라우저를 사용하면서 도움이 필요하다면, TracBrowser를 참고하십시오.