Diagram을 참조하여 프로그램을 만든다.


서버소켓을 만들 때 필요한 건 ServerSocket 클래스 이다.

ServerSocket 클래스의 생성자 중 Port를 파라미터로 사용하는 생성자가 있는데 이를 사용하여 객체를 생성한다.


그리고 ServerSocket에 있는 accept 메소드를 이용하여 클라이언트가 접근할 때 까지 대기한다.

접속을 했을 경우 생기는 Socket을 반환하여 그것을 통해 입출력을 얻어 사용하면 된다.


이때 쓰레드로 구현하지 않을 경우 단순하게 서버와 클라이언트 간의 1:1 접속이 되지만 쓰레드로 구현할 경우 멀티 소켓 프로그램이 되는 것 이다. 하지만 Socket을 받았을 때 이것을 Thread없이 돌릴경우 입력 또는 출력만 할 수 있게되므로 Thread를 구현하여 입출력을 받을 수 있게 해야한다.


 

1
2
3
4
5
ServerSocket serverSocket = new ServerSocket(m_iPort);
 
Socket socket = serverSocket.accept();
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
cs


stream은 byte타입으로 read(),write(byte[] obj)를 이용하여 데이터를 송수신한다.

+ Recent posts