<시스템 아키텍처의 발전사>
1.메인프레임
-Data처리-업무처리
-UI생성
<socket>
서버와 클라이언트는 각각 socket을 생성하고 server는 accept를 통해
client가 접속하기를 대기, 접속하게 되면 client의 socket번호를 저장하고
그뒤로는 각각이 제공하는 전송방식으로 통신을 하게 된다.
1.socket 생성과 연결
1) SernerSocket server = new SernerSocket(***);//server측에 써준다.
***은 포트넘버이다.(ServerSocket을 사용하기 위해선 try/catch필수)
2) Socket sock = server.accept();//server측에 써준다.
Socket sock = new Socket(serverIP,***);//client측에 써준다.
server가 대기하고 있다가 client가 접속하게 되면 client의 socket넘버를
리턴받는다.
client는 socket을 생성할때 serverIP주소와, portnum을 인자로 준다.
client가 소켓을 생성함과 동시에 server는 accept되면서 대기가 해제된다.
2.accept 메서드
-accept()메서드를 이용하여 클라이언트의 TCP커넥션(클라이언트에서 Socket객체를
생성하는 것)을 기다리고 있다.
accept()메서드는 클라이언트의 socket객체가 생성될때까지 블로킹되고 있다가
클라이언트의 Socket객체가 생성되면 서버에서 클라이언트와 통신할수있는
Socket객체를 리턴하게 된다.
accept()메서드의 유효시간이 지나면 java.net.socketTimeoutException이 발생하는데,
이예외가 발생하더라도 ServerSocket객체는 계속 유효하다.
accept()메서드가 Socket객체를 리턴하지 않는 한 while문의 루프도 돌아가지않는다.




댓글 없음:
댓글 쓰기