Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- axios
- 도커
- service
- 클래스
- 네티 서버
- react
- controller
- Repository
- 배열
- 채팅
- MySQL
- 스프링부트
- 프로젝트
- Security
- Spring
- 팀프로젝트
- 자바
- JWT
- 자료형
- Spring Boot
- toyproject
- springboot
- 백엔드 설정
- Kotlin
- 기초설정
- recoil
- netty
- 코틀린
- Java
- 네티 클라이언트
Archives
- Today
- Total
hyuko
소켓 통신 미니 채팅 프로그램 본문
728x90
반응형
지금까지 배웠던 모든 것들을 활용하여 미니 프로젝트를 실행했습니다.
소켓 통신을 활용하여 각각의 클라이언트 들이 하나의 서버에서 방을 만들고 그 방에 들어간 유저들 끼리 대화가 가능한 어플리케이션을 만들어 보았습니다.

클라이언트
- 클라이언트는 각각의 Socket 을 가지고 있어야합니다.
- 각각 서버와 연결합니다.
- windowBuilder로 Swing 을 이용하여 뷰를 만듭니다.
- 클라이언트 측에서 서버로 요청을 보냅니다.
- 서버측에서 다시 받아오는 결과는 receive를 통해 받습니다.
서버
- 서버는 run이 되는 서버객체와 Thread를 가지고 있는 ServerThread 를 나누어 관리합니다.
- 클라이언트에서 request를 받아 case에 따라 receive에 응답을 해줍니다.
- 각각의 클라이언트의 Socket을 담을 리스트를 생성하여 저장합니다.
receive
- 클라이언트 측에서 보낸 정보와 request를 처리한 서버의 응답을 받아 클라이언트에 뿌려주는 역할을 합니다.
필수 구현기능
- 닉네임을 통한 로그인을 합니다 (정확히 말하자면 조인)
- 각각의 유저들은 방을 만들 수 있습니다.
- 그 방의 리스트들을 리스트 화면에서 볼 수 있습니다.
- 각 방끼리 대화는 유일하게 그 방의 유저들만 볼 수 있습니다.
- 만약 방나가기를 하였을 때 일반 유저라면 방 목록이 있는 화면이 나오게 되고 방장일 경우 방이 폭파되며 그 방에 있던 유저들 또한 방에서 나가져야합니다.
마무리하며..
앞으로 클라이언트 / 서버 / 리시브를 만들 예정입니다.
최대한 필수 구현기능에 초점을 맞춰 배운 것들을 활용하여 만들 예정입니다. 다음 챕터에서 클라이언트 부터 시작해서 만들어보도록 합니다.
728x90
반응형
'토이프로젝트 > 소켓통신프로젝트' 카테고리의 다른 글
토이프로젝트 (0) | 2023.04.25 |
---|---|
소켓통신으로 채팅만들기 (0) | 2023.04.24 |
소켓통신과 스레드 (0) | 2023.04.24 |