2tier client/server모델: clint 와  server가 일대일로 연결하는 방식
3tier 모델: 클라이언트-응용서버-데이터서버 연결방식

소켓의 기본이해 (자바 네트워킹과 동일함)

//서버쪽
ServerSocket serverSocket = new ServerSocket(5001);
while()
 Socket socket = serverSocket.accept();
 ObjectInputStream instream = new ObjectInputStream(socket.getInputStream());

 //스트림으로 들어오는 input데이터, socket으로 부터
 String inStr = instream.readUTF();
 System.out.println("result: " + inStr);

 ObjectOutputStream outstream = new ObjectOutputSteam(socket.getOutputStream());
 outstream.write("from server: "+ inStr);
 outstream.flush();

 

//클라이언트 쪽
Socket socket = new Socket("localhost", 5001);

ObjectOutputStream outstream = new ObjectOutputSteam(socket.getOutputStream());
outstream.write("Hello");
outstream.flush();

ObjectInputStream instream = new ObjectInputStream(socket.getInputStream());

//스트림으로 들어오는 input데이터, socket으로 부터
String inStr = instream.readUTF();
System.out.println("result: " + inStr);

자바와 안드로이드 차이점은 메인UI 접근제한으로 핸들러를 이용한다는 점

서버는 일반 소켓서버를 쓰면 된다. 어차피 소켓 프로토콜이므로,

by wisegirl 2013. 3. 13. 10:54