프로젝트 정보

·2023년 7월 14일
0

Project

목록 보기
1/5
post-thumbnail

언어와 프레임워크
Python을 이용한 Django
Ruby를 이용한 Ruby on Rails
Javascript를 이용한 Node.js
Java 개발자들은 Spring

1대1채팅 앱 개발 시작은 어떻게?

  • 내가 어떤 정보를 입력하고 있을 때, 다른 사람이 보낸 데이터가 내 화면에 출력되어야한다.
    String line = br.readLine();
    Systrem.out.println(line);
    이렇게만 쓰면 내가 키보드로부터 한 줄씩 입력 받을 때 엔터를 치기 전까지는 2번째 줄이 실행이 안된다.

내가 보낼 메시지를 입력하고 있다.
동시에, (그래서 여기부터는 별도의 스레드로 작성되어야함)
다른 사람이 보낸 메시지를 읽어들여서 화면에 출력한다.

A 클라이언트
java Chat kim [enter]-----> 1.(자바 chat kim [enter] 하면 서버 접속되어야 함)
kim> 안녕하세요 -----> 2. 메시지 전송 '안녕하세요'
lee> hi 홍길동입니다.

B클라이언트
java Chat lee [enter]-----> 1. 위와 같음
치는 중 : hi •••
kim> 안녕하세요
여전히 치는 중 : hi 홍길동입니다.

서버 입장
1) 접속을 대기
2) 클라이언트가 접속하면 클라이언트와 소통하기 위한 socket이 나온다.
3) A 클라이언트가 보낸 '안녕하세요'를 읽어들인다.
4) 서버에게 접속하고 있는 모든 클라이언트에게 '안녕하세요'메시지를 전송한다(브로드캐스팅) 메시지 보낸 입장: 채팅창에 자신의 말이 전송된 상태가 나와야함
메시지 받는 입장: 채팅창에 상대방의 말이 떠야함

  • hi 홍길동입니다도 위와 같은 방식
    +서버는 연결된 모든 클라이언트에게 내용을 전송해야함

07/16 16분까지

profile
기회를 잡기 위해 준비하자 !

0개의 댓글