inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

채팅 실습

LIst<구조체> 형태의 패킷을 보내는 방법이 있나요?

897

gamecoding

작성한 질문수 9

0

List<구조체> 형태를 패킷으로 보낼려고 하는데 BufferWriter부분에서 List<구조체> 데이터를 쓸때 엑세스 위반의 오류가 나오게 됩니다.

List<구조체> 형태의 패킷을 보내는 방법이 있나요?

화면 캡처 2023-02-12 001307.png화면 캡처 2023-02-12 001222.png화면 캡처 2023-02-12 001108.png

네트워크 MMORPG network MMORPG windows-server

답변 2

0

gamecoding

강사님 정말 감사합니다..

구조체 패딩 문제 였내요...

pragma pack을 사용하니 해결 되었습니다. 감사합니다 !!!

1

Rookiss

ㅎㅎㅎㅎㅎㅎ 그렇군요 축하드립니다.
저도 한 번 이쪽에서 아주 크게 데인 적이 있어서 남일 같지가 않군요 -_-
헤딩을 오래한 만큼 앞으로 두고두고 기억에 남을겁니다.
그럼 힘내세요

0

Rookiss

image
이렇게 하면 당연히 큰일납니다.
list, vector 모두 동작 할당된 힙 메모리의 주소를 잠시 들고 있는 것이라
반대쪽에 그런 주소를 보내줘봤자 이해를 못합니다.

우선 bw << players.size() 로 몇 명이 있는지를 보내주신 다음
플레이어 수만큼 for문으로 bw << struct데이터를 넣어주시면 됩니다.
그 부분을 반대쪽에서 파싱해서 size, struct (xsize개)를 꺼내쓰면 되겠죠

0

gamecoding

강사님이 말씀하신대로

리스트의 길이를 보내준다음 구조체의 데이터를 bw로 넣어서 클라이언트가 파싱 하는데 클라이언트는 리스트의 길이를 받아올때 이상한 값을 받아오고있어서 질문 드립니다...

화면 캡처 2023-02-12 014716.png화면 캡처 2023-02-12 014658.png

1

Rookiss

breakpoint를 걸어서 보내는 쪽 데이터를 확인해보시고 (size 포함)
breakpoint를 걸어서 클라에서도 받는 쪽 데이터를 하나씩 확인해보세요.
위 내용만으로는 저도 원인을 알 수 없습니다.
메모리를 까보는 것도 필요할 수 있습니다.

그런데 C# <-> C++ 연동인건가요?
그러면 더 조심할게 많아집니다. (struct Player의 패딩 문제 등)

컨텐츠 레이어 C++ vs C#

0

3

0

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

0

29

2

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

0

70

2

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

0

124

1

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

0

64

1

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

0

85

2

성능 테스트 결과

0

105

2

게임 서버 Stateful, Stateless 진로 고민

0

127

1

WaitOnAddress와 Sleep의 차이 질문

0

83

1

궁금한거 있습니다.

0

83

2

JobTimer 구동 스레드

0

107

2

TryPop() 동작 관련 질문

0

81

1

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

0

151

2

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

0

73

1

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

0

87

2

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

0

143

2

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

0

103

2

mutex와 sleep 차이점

0

118

1

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

0

156

2

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

0

97

1

공부법 관련해서

0

184

2

MakeShared 함수 관련

0

114

1

지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.

0

144

2

운영체제관련 질문입니다

0

132

1