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

리비전 87, 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                                                         //et1.append("Server >> " + str + "\n");
68                                                         SocketTest.this.h.sendMessage(msg);
69                                                 }
70                                         }catch(Exception e){
71                                                 Log.e("th-run()" , e.toString());
72                                         }
73                                 }
74                         });
75                         th.start();
76                         }
77                 });
78     }
79    
80     private Socket s;
81     private InputStream is;
82     private OutputStream os;
83     private DataInputStream dis;
84     private DataOutputStream dos;
85    
86     private void connect(){
87         try{
88                 s = new Socket("192.168.0.42", 5000);
89                 Log.i("socket created", s.toString());
90                 is = s.getInputStream();
91                 os = s.getOutputStream();
92                 dis = new DataInputStream(is);
93                 dos = new DataOutputStream(os);
94                
95         }catch(Exception e){
96                 Log.e("socket not exists", s.toString());
97         }
98     }
99    
100     private void write(String msg){
101         try{
102                 dos.writeUTF(msg);
103                 dos.flush();
104         }catch(IOException ie){
105         }
106     }
107 }
108
109
110
참고: 소스 브라우저를 사용하면서 도움이 필요하다면, TracBrowser를 참고하십시오.