inflearn logo
강의

講義

知識共有

C++とアンリアルで制作するMMORPGゲーム開発シリーズ Part4:ゲームサーバー

PacketSession

PacketSession::OnRecv 함수 관련 질문드리고싶습니다ㅠㅠ..

420

donnyh0730

投稿した質問数 3

0

이 강의에서 아직 핸들링 안하신 걸 수 도 있지만,  패킷이 정말로 잘려서 온 경우 예를들면 패킷 헤더에 16사이즈가 16으로 기입이 되어있는데 소켓 IO에서 받아지게된 바이트수는 12로 받아진 상황이라고 가정 했을때,

if (dataSize/*12*/ < header.size/*16*/)

break;

브레이크 된 이후에는 Disconnet가 되어 버리는데요. 강의에서는 패킷이 다시 올때까지 기다렸다가. 패킷을 파싱 한다고 하셨는데, 실제 동작이랑 조금 다르게 동작하는 것 같습니다

따라서,

질문 : 향후에 핸들링이 바뀔 여지가 있을까요? 그게아니라면 원래 패킷이 잘려오면 디스커넥트가 정석적인 핸들링 방법인건지 궁금합니다!

-수정 : 제가 잘못 이해한 내용이니 궁금해서  들어오신분들은 강의 코드에는 문제가 없음을 알려드립니다 ^^;

network MMORPG windows-server

回答 2

0

donnyh0730

아하 감사합니다! 지금 디버깅 해봤는데 제가 잘못 이해했었습니다 정상적으로 동작하네요! 

0

Rookiss

그럴 경우 처리는 하지 않고 다음 패킷을 기다려서 합쳐서 처리해야 합니다.
만약에 Disconnect 처리를 한다면 버그가 있는 것이고 수정을 해주시면 됩니다.

강의 코드를 보면 processLen = 0일 경우 Disconnect를 시키진 않습니다.

CS 기초 지식이 필요없는 세상이 오지 않을까요?

0

20

2

DeadLock 탐지에서 재귀 Lock 상황에 대해 궁금합니다.

0

37

2

LockFreeStack #2에서 ABA 문제

0

49

1

RefCounting 강의 질문있습니다.

0

70

2

writeLock을 잡을때 꼭 empty 상태여야하는 이유?

0

93

2

Memory Pool에서 오버플로우 질문입니다.

0

111

2

포토폴리오 및 진로 관련하여 고민입니다.

0

207

1

포토폴리오 관련 고민입니다.

0

117

1

실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.

0

125

2

성능 테스트 결과

0

129

2

게임 서버 Stateful, Stateless 진로 고민

0

166

1

WaitOnAddress와 Sleep의 차이 질문

0

119

1

궁금한거 있습니다.

0

104

2

JobTimer 구동 스레드

0

135

2

TryPop() 동작 관련 질문

0

99

1

로드맵 C#서버 C++서버 방향성 질문

0

189

2

스레드 id를 출력할떄 메인스레드 id도 출력되나요?

0

94

1

생명주기를 위한 의도적 복사

0

112

2

락프리의 실무에서 사용 질문

0

174

2

32bit threadID와 16비트 상위 WriteFlag에 대해

0

123

2

mutex와 sleep 차이점

0

148

1

실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다

0

182

2

Stomp Allocator의 Release함수에 대한 질문입니다.

0

114

1

공부법 관련해서

0

201

2