일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- virtual destructor
- std::ostream
- placement new
- dynamic_cast
- c++ multi chatting room
- constructor
- diamond inheritance
- suffix return type
- delete function
- 더 지니어스 양면포커
- C++
- vector size
- virtual function
- std::vector
- discord bot
- this call
- vector capacity
- member function pointer
- virtual inheritance
- pointer to member data
- virtual function table
- operator overloading
- increment operator
- new&delete
- conversion constructor
- std::endl
- return by reference
- base from member
- std::cout
- c++ basic practice
- Today
- Total
I'm FanJae.
[C++ Server, C# Client] Day 3. GUI 클라이언트 설계 및 Server 버그 수정 본문
[C++ Server, C# Client] Day 3. GUI 클라이언트 설계 및 Server 버그 수정
FanJae 2024. 9. 26. 23:541. 레이아웃 설계
- 본인의 경우 Client 쪽은 가볍게 설계 하는 것이 목적이였다. (서버를 테스트 하기 위한 목적이 더 컸다.)
- 따라서, Client의 디자인은 기본에 충실하였다.
- 각 기능은 아래와 같은 기능을 수행한다.
연결 : IP와 PORT를 입력하면 서버와 연결을 진행한다.
새로고침 : Room list를 받아와서 보여준다. 사용자는 이곳에서 본인이 원하는 방에 입장할 수 있다.
입장 : Room List에서 선택된 방으로 입장한다.
방만들기 : 방을 만드는 폼을 별도로 띄워서 방을 생성하면 서버가 이를 받아서 하나의 방을 만들어준다.
방을 만든 참가자는 채팅방에 바로 입장하도록 처리할 것이다.
2. 서버 버그 수정
- 본 포스팅을 작성하기 전, C# 클라이언트로 연결 시도를 했으나, 번번이 실패했다.
- 원인은 serverAddr 구조체 설정에서 문제가 발생하였다.
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = INADDR_ANY;
// serverAddr.sin_port = atoi(argv[1]);
serverAddr.sin_port = htons(atoi(argv[1]));
2-1. htons()
- Host To Network Short.
- 컴퓨터가 데이터를 메모리에 저장하거나 전송할 때 바이트 순서는 컴퓨터마다 차이가 존재한다.
- Little Endian과 Big Endian이 존재한다.
- 네트워크 통신에서는 데이터가 전송될 때 네트워크 바이트 순서인 빅 엔디안으로 변환이 필요하다.
- 포트 번호가 16비트 값이기 때문에 htons()로 변환해야 한다.
※ 이외 작업을 진행하였지만, 서버에 추가하는 과정에서 핸들러를 별도로 분리시키는 작업이 더 필요할 듯하다.
TODO
1) Server
- 핸들러 로직 분할 및 동기화 처리 필요
2) Client
- 각 상황에 맞는 버튼 이벤트 구현 필요
'Toy Project > Multi Room Cheating Server' 카테고리의 다른 글
[C++ Server] Day 2. Thread 적용 및 Multi Chatting Room 구현 (2) | 2024.09.25 |
---|---|
[C++ Server] Day 1. Echo Server 구현. (0) | 2024.09.25 |
[C++ Server, C# Client] Day 0. Multi Room Chatting Server 시작 (3) | 2024.09.24 |