안경잡이개발자

728x90
반응형

  이번에 진행해 볼 미니 프로젝트는 자바 FX(Java FX)를 이용한 서버 및 클라이언트 채팅 프로그램 개발하기입니다. 자바 FX로 개발 된 프로그램으로는 무엇이 있을까요? 바로 대표적인 것이 이클립스(Eclipse) 개발환경입니다. 우리가 흔히 자바 프로그래밍을 연습하기 위해 사용하는 개발 도구인 이클립스 또한 사실은 자바로 개발되었다는 거죠. 알 바 아니라고요? 바로 시작해보도록 하겠습니다.


  기본적으로 서버와 클라이언트를 포함하는 프로그램이 있다면, 응당 서버와 클라이언트는 서로 다른 컴퓨터 환경에서 작동을 한다고 보시면 됩니다. 실제로 프로그램을 구현한 이후에는 서버 프로그램은 실제 서버(Server)에서 작동시키고, 클라이언트는 해당 서버에 접속을 하는 식으로 개발을 해야 하는 겁니다.


  또한 하나의 서버 프로그램은 여러 개의 서버를 구동시킬 수 있습니다. 하나의 서버 단위마다 쓰레드를 이용해서 작동시킬 수 있습니다. 이 때는 연결을 받아야 하는 것이므로 특정한 포트 번호를 설정시켜줘야 할 것입니다. 이후에 특정한 서버로 클라이언트가 접속하면 어떻게 처리할 수 있을까요? 바로 다음과 같이 해당 서버 쓰레드에서 단위 쓰레드를 클라이언트의 갯수만큼 만들어주어 클라이언트가 접속할 때마다 쓰레드를 실행하여 작동시킬 수 있습니다.



  다만 여기에서 단순하게 쓰레드만 돌리면 상당히 프로그램이 위험한 상태에 처할 수 있습니다. 그래서 일반적으로 쓰레드 풀(Thread Pool) 기법을 사용하여 쓰레드를 관리할 수 있습니다. 다음 시간부터 제대로 개발을 해 볼 건데요. 전체적인 구성은 바로 위와 같습니다. 우리는 서버 프로그램과 클라이언트 프로그램을 모두 개발할 것입니다. 실제로 만약에 이 프로그램을 배포한다면 개발자의 컴퓨터에서는 서버 프로그램을 돌릴 수 있고 다른 컴퓨터에서는 클라이언트 프로그램을 돌리면 됩니다.


  필요한 개발 도구는 다음과 같습니다.


  ▶ 이클립스 개발 환경: http://www.eclipse.org/



  ▶ JavaFX Scene Builder: http://www.oracle.com/technetwork/java/javafxscenebuilder-1x-archive-2199384.html



  ▶ 이클립스 JavaFX 플러그 인


728x90
반응형