-
20250708 개발 일지. 동기화 버그 원인 파악 및 수정개발일지/C# 채팅 프로그램 2025. 7. 9. 14:24728x90
공유오피스 마지막 날
갑자기 펑 소리 나며 차단기 내려가서 잠시 인터넷 안됨# 버그 원인 파악 및 수정
DummyTest Start
TestSession_1[C_CreateRoom]
TestSession_2[C_CreateRoom]
TestSession_2[SCreateRoom] size: 41
TestSession_1[SCreateRoom] size: 41
ShowAddedRoom
ShowRoomScreen
Added Room ID: 2, Name: TestRoom_1127671729, Master: 0
TestSession_2[SCreateRoom] size: 45
ShowRoomUserList
User ID: 0, Nickname: User_0
ShowRoomScreen
ShowRoomUserList
User ID: 1, Nickname: User_1
방 생성 성공: TestRoom_1127671729 (ID: 2)
TestSession_1[SCreateRoom] size: 45
방 생성 성공: TestRoom_76189276 (ID: 1)
ShowAddedRoom
Added Room ID: 1, Name: TestRoom_76189276, Master: 1
ShowRemovedUser
Removed Room ID: 0, Nickname: User_1, UserId: 1
TestSession_1[C_SetNickname] <-- [C_SetNicknameHandler] User 0 is not in Lobby state.
TestSession_2[C_Chat]
TestSession_1[SSetNickname] size: 52
You must be in the Lobby to set a nickname.
ShowRoomScreen
TestSession_2[SChat] size: 40
User_1 1[2025-07-08 오전 5:33:25]: Test Message from
세션 1과 세션 2가 차례대로 방을 생성했는데 세션 1의 클라이언트 측 상태가 로비로 바뀜.
ShowRoomScreen 메소드를 통해 로비에서 룸으로 상태가 바뀌어야 하는데 안 바뀜.
ViewManager에 스크린을 바꾸는 메서드에서 세션을 가져오는데 첫 번째 세션의 값을 가져와 바꾸는 것을 확인함.# 버그 2
상태는 방인데 CurrentRoom이 null인 경우가 있음 -> CurrentRoom을 없애든 개선이 필요할 듯.
반대로 로비인데 방 상태여서 방에서만 사용가능한 기능의 패킷을 계속 날리는 경우가 있음.
클라이언트와 서버 상태 불일치 에러 코드인 경우 클라이언트에서 예측해서 클라이언트 상태를 변경하는 것이 아니라 서버에 유저 인포를 다시 요청하여 동기화를 진행하도록 수정 예정.-> 클라이언트 예측은 현재 유저 상태가 방과 로비 이렇게 두 개뿐이라 상태가 다르면 다른 상태로 변경하면 되지만 늘어날 경우 문제가 될 수 있음.
# 작업 중
유저 상태 동기화용 패킷 핸들러 작성 중
RoomManager 룸인포 획득 함수 작성 필요728x90'개발일지 > C# 채팅 프로그램' 카테고리의 다른 글
20250710 개발 일지. 버그 수정 (1) 2025.07.11 20250709 개발 일지. 버그 수정 (1) 2025.07.10 20250707 개발 일지. 동시성 이슈 원인 파악중 (0) 2025.07.08 20250704 개발 일지. 동기화 에러 발생 분석 (1) 2025.07.07 20250703 개발 일지. 부하 테스트 및 버그 수정 (0) 2025.07.04