인프런 커뮤니티 질문&답변

박성환님의 프로필 이미지
박성환

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

SendBuffer

전송 순서 관련 질문입니다.

작성

·

303

0

Send 코드를 보던 중 궁금증이 생겼습니다.

컨텐츠 구현시 정확히 Send를 호출한 순서대로 패킷이 가야 하는 경우가 있는가? 입니다.

만약 1번 스레드가 Send 호출 후 connected 확인만 하고 멈추고, 2번 스레드가 이후에 Send를 호출해 lock을 잡을 경우

1->2 순서로 호출했지만 데이터는 2->1 순서로 전송될 것입니다.

이렇게 자세하게 따져야 하는 경우가 있는지, 있다면 send 시작부터 exchage까지 lock을 잡으면 해결되는 문제인지 궁금합니다.

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

그 부분은 살짝 경계선에 있는데요.
멀티쓰레드라고 정말 모든게 멀티쓰레드로 돌아갈 순 없고
지역 단위, 혹은 Actor 단위로 JobQueue를 두고
Actor 사이의 일감은 순차적으로 처리해야 합니다.
일감의 순서가 정해지면 사실 패킷 송신은 Lock잡고 처리해도 되긴 합니다.

박성환님의 프로필 이미지
박성환

작성한 질문수

질문하기