본문 바로가기

자바

자바(JAVA) 채팅 프로그램(1) (웹 소켓 TCP/IP)

반응형

이번엔 자바로 웹소켓을 사용하여 채팅 프로그램을 만드는 것을 해보았다.

설명하기에 앞서 실행결과를 보여주면 (자바 스윙으로 짰다.)

아이피와 포트를 입력한 후 접속
아이디와 패스워드를 입력 한 후 로그인
채팅을 치는 폼

밑에 커서를 두고 채팅을 치면 실시간으로 채팅이 반영되는 것을 볼 수 있다.

파일의 업로드와 다운로드

업로드 버튼으로 파일을 불러오고 목록을 보면 업로드한 파일의 목록을 볼 수 있다. 그 후 다운로드로 자신의 PC에 파일을 다운할 수 있다.

이 프로그램은 TCP/IP 웹소켓 을 기반으로 하여 만들었다.

먼저 TCP/IP에 대해서 알아보자.

TCP/IP의 개념(Transmission Control Protocol / Internet Protocol)의 개요

 가. TCP/IP 정의

  • TCP/IP는 네트워크를 상호 연결시켜 정보를 전송할 수 있도록 하는 기능을 가진 다수의 프로토콜이 모여 있는 프로토콜의 집합
  • TC/IP의 가장 대표적인 프로토콜은 3 계층의 IP와 4 계층의 TC로 대부분의 응용서비스가 TCP상에서 이루어지나, 최근 인터넷의 단점을 보완하기 위해 UDP를 적극적으로 이용하는 추세임

 나. TCP/IP 특징

  • 독립적: Hardware, Operaing System, 물리적 Network에 무관한 전송 규약
  • 전 세계의 유일한 주소체계 확립

 다. TCP/IP의 표준화 이점

  • 네트워크의 변화와 서비스 유형에 따라 다양한 프로토콜을 동시에 허용
  • 표준규격이 실증에 기초하고 있음
  • 표준규격과 표준화의 과정이 RFC(Request for Comments;인터넷 표준화기구[IETF]에서 전 세계적으로 인터넷의 표준으로 정의된 문서) 형태로 개방되어 있음

TCP/IP 통신 기능

 가. Listen()

  - 클라이언트 요청이 올 때까지 대기하는 Passive Socket

 나. Accept()

  - 클라이언트의 요청을 수락하여 Active Socket mapping

 다. Connect()

  - 클라이언트에서 생성된 Active Socket과 서버 측의 Passive Socket을 서로 연결

 

웹소켓에 대해 알아보았다.

코드에 대한 것은 다음 글에서 알아보자

 

반응형