본문 바로가기

강좌/JAVA NETWORK

자바 네트워크(Network) - Thread를 이용한 TCP/IP 예제

Thread를 이용한 TCP / IP예제이다.

복수의 클라이언트에서 요청 받은 것을 서버에서는 각각 쓰레드를 생성해서

에코형식의 메세지를 클라이언트에게 전달 해 준다.


우선 서버 프로그램 코드를 보자.


이전에 썼던 내용과 다를게 없다.

서버 소켓, 클라이언트용 소켓 생성해서

무한 루프 돌면서 클라이언트 요청을 받는다.

다만 while문에서 쓰레드를 각각 생성해서 

쓰레드에서 에코가 되게 요청단위로 처리해 준다.


쓰레드를 구현한 소스를 보자.




쓰레드기 때문에 서버 프로그램에서 클라이언트 요청이 들어 왔을때 생성자로 요청을 읽고 다시 요청응답을 돌려주기 위해서 InputStream과 OutputStream을 생성하였다.


그리고 run에서는 요청 내용을 읽고 다시 클라이언트로 요청내용을 그대로 돌려 준다(에코, 메아리)





아래는 텔넷으로(클라이언트) 서버에 접속해서 내용을 치면 서버에서는 받아서 다시 클라이언트에다가 돌려주는

내용을 테스트 한것이다.


쓰레드에 대해서는 조만간 다시 공부 할것이다.


우선 클라이언트 요청을 받아서 서버가 처리하는것을 이해하자.