inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동

마무리

Room에서 _objects 자료구조는 안전한가요?

394

이성원

작성한 질문수 7

0

bool Handle_C_LEAVE_GAME(PacketSessionRef& session, Protocol::C_LEAVE_GAME& pkt)
{
	auto gameSession = static_pointer_cast<GameSession>(session);

	PlayerRef player = gameSession->player.load();
	if (player == nullptr)
		return false;

	RoomRef room = player->room.load().lock();
	if (room == nullptr)
		return false;

	room->HandleLeavePlayer(player);

	return true;
}

 

잡큐에서 처리를 한다면 문제가 발생하지 않을거로 보이지만, 잡큐에서 실행하지 않고 room->HandleLeavePlayer 함수를 직접 호출하고 있습니다. _objects 자료구조에 접근하여 제거하는데요 Thread Safe 하지 않을거로 보여서요. 혹시 의도된건지 궁금합니다. 코드 흐름상 이정도는 알아서 수정하세요라는 느낌이 강하지만 혹시나해서 여쭤봅니다.

c++ unreal-engine windows-server

답변 1

0

Rookiss

네 이 부분은 잡큐로 수정해주셔야 합니다.

0

이성원

강의를 다시 보니, 영상에서 수정하는 모습이 담겨있네요. 최종본에서 어떤 이유로 수정이 이상하게 올라갔는지 모르겠네요. 강의 잘 보고 있습니다. 감사합니다!

패킷 보내는 두가지 방법 질문

0

88

0

recv 할게 없어도 무한 while문을 도는데 괜찮은건가요?

0

69

2

MySQL 연동

0

63

2

잡큐단위 내부에서 잡큐호출

0

61

2

포트폴리오 작성 후 확장 방향에 대해 질문이 있어서 글을 남깁니다

0

100

2

에러코드

0

70

1

언리얼 버전

0

80

2

ProtoBuf UE 연동 문제

0

201

3

Snapshot base vs packet oriented

0

119

1

Is there official app or something that allow you watch lectures offline?

0

82

1

What is more capable of m2 c# server or cpp from episode 4?

0

102

2

워커스레드가 1개일 때 가장 빠를 수 있을까요?

1

198

2

이동동기화 관련 질문 드립니다. 추측항법 외.

0

280

1

이 시리즈 25년에 계획 있으실까요?

1

401

3

SubSystem이 궁금합니다.

0

524

2

웹서버

0

296

2

언리얼 에디터 Stop버튼

0

250

2

질문 있습니다...

0

208

2

클라이언트 강제 종료 시 플레이어 삭제 기능

0

225

1

라이브 강의 질문

0

177

1

52분에 나온 얘기..

0

244

1

게임 서버 몬스터 ai에 관해 궁금한게 있습니다.

0

384

1

파트4의 서버 파일이랑 다른건가요??

0

438

1

3D 이동 동기화

0

478

1