【クレイジーAndroid講義】第13章ネットワークアプリケーション(一)

1744 ワード

Socketによる通信
 
1、サービス側
 
public class SimpleServer {
	public static void main(String[] args) throws IOException {
		//     ServerSocket,       Socket     
		ServerSocket ss = new ServerSocket(30000); // ①
		//                 
		while (true) {
			//         Socket   ,           Socket
			Socket s = ss.accept();
			OutputStream os = s.getOutputStream();
			String dateStr = new Date().toLocaleString();
			String str = "  ,            !     :" + dateStr;
			System.out.println(str);
			os.write(str.getBytes("utf-8"));
			//      ,  Socket
			os.close();
			s.close();
		}
	}
}

 
 
2、クライアント
public class SimpleClient extends Activity {
	EditText show;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		show = (EditText) findViewById(R.id.show);
		new Thread() {
			@Override
			public void run() {
				try {
					//            Socket
					Socket socket = new Socket("192.168.0.100", 30000); // ①
					//  Socket         BufferedReader
					BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
					//     IO  
					String line = br.readLine();
					show.setText("        :" + line);
					//      、socket
					br.close();
					socket.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}.start();
	}
}