채팅서버 만들기
기존에 공부했던 개념을 토대로 채팅서버를 만들어보려고 합니다.
먼저 imgui를 활용하여 만들것이기 때문에 imgui git에서 기본 베이스를 다운 받아서 활용하겠습니다.
https://github.com/ocornut/imgui
기본적으로 imgui dx프로젝트를 실행하면 아래와 같은 창이 실행되며 imgui 데모버전을 보여줍니다
하지만 저는 둘다 필요 없으니깐 제거하고 저만의 창을 만들어보겠습니다.
간단하게 채팅이 가능하게 윈도우를 만들고 InputText를 활용하여 구성하였습니다.
기본적으로 채팅에 사용되는 소켓과 관련 정보를 담을 구조체를 만들고 imgui는 엔터를 클릭할때 적혀있는 텍스트를 보내기떄문에 Flag를 활용하여 구현하였습니다
입력 후 엔터를 눌렀을때 text값을 보낼 벡터에 이름 + 텍스트로 넣어주고 입력이 되었다면 SendMSG함수에서 입력 받은 데이터를 서버로 전송하고 서버에서 해당 데이터를 클라이언트에 보낸뒤 클라에서 해당 텍스트 데이터를 수신 후 chatData.recvItems벡터에 넣게되면 imgui Loop과정에서 채팅이 출력되게 됩니다.
서버와 연동후 서로간 데이터 송 수신까지는 확인하였고 지금은 아이피와 포트번호를 미리 코드로 작성하여 서버와 연결했는데 imgui를 활용하여 주소, 포트번호를 입력후 연결하도록 구현해볼 예정입니다.
'TCP_IP 소켓 프로그래밍' 카테고리의 다른 글
TCP채팅서버 만들기 c++ 02 (0) | 2023.07.06 |
---|---|
윈도우즈 기반의 쓰레드 동기화 (0) | 2023.07.04 |
UDP 기반 서버/클라이언트 (0) | 2023.06.16 |
TCP 기반 서버 / 클라이언트에 대한 이해2 (에코 서버, TCP 내부 구조) (0) | 2023.06.14 |
TCP 기반 서버 / 클라이언트에 대한 이해1 (0) | 2023.06.13 |
댓글