inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

올려주신 강의에 버그가 있는 것 같습니다.

170

작성자 없음

작성한 질문수 0

0

서버 GameRoom쪽 Enter에 보면 클라이언트 세션리스트에 ADD 해주는 부분이 있습니다.

따라서 500개의 더미세션을 넣게되면 0번부터 500번까지 하나씩 add됩니다.

문제는 sessions를 돌면서 PlayerList패킷 내부의 player리스트에도 세션 수 만큼 담게되는데, 어쨋든 그 이후에 직렬화 해주는 부분에서 list내용을 직렬화 할때 player list수 만큼  offset값이 계속 누적되면서 준비된 버퍼사이즈가 부족하게됩니다.

올려주신 강의는 16byte * 100 만큼 버퍼사이즈를 잡아서 500명까지는 괜찮습니다. 하지만 버퍼사이즈를 줄이거나,  span.slice방식을 사용하면 직렬화 도중 크래시가 발생합니다.

우선 버퍼사이즈를 떠나서 계속해서 누적되는 부분 자체가 버그라고 생각되는데 혹시 제가 놓친 부분이 있는건가요?

unity network C#

답변 1

0

Rookiss

버그라기보단 그냥 애당초 최대 버퍼 사이즈를 정해줬으면,
하나의 패킷이 그 이하로 들어가게 만들어줘야 합니다.
이건 실제 서버에서도 마찬가지여서
한 패킷에 안 들어가면 둘을 쪼개서 보낸 기억이 있네요.
그리고 버퍼 사이즈는 보통 꽤 크게 잡아주긴 합니다.

TLS 질문드립니다.

0

43

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

48

2

Unity Span

0

76

2

XML, Dll 차이점

0

105

2

Session 질문입니다

0

80

1

Write Read 커서 키워드

0

76

1

더미 클라이언트 수에 따른 OnDisconnect 발생

0

70

2

네트워크 Send 전담 스레드 배치

0

98

2

UnhandledException 으로 서버 터지는 경우

0

86

2

컨텐츠 단, 엔진 단

0

106

1

질문 있습니다

0

77

2

C# 게임서버 3D MMORPG

0

147

2

유니티6 버전

0

98

2

receive하는 부분과 send하는 부분의 차이

0

134

2

커서의 위치의 중요성

0

103

2

C++ 전혀 모르는데 C# 서버

0

169

2

강의에 질문이 있습니다

0

86

2

멀티스레드 이해도 질문

0

95

1

500 vs 500

0

130

3

OnAcceptHandler 액션 함수

0

61

1

이 정도 서버의 객관적인 수준이 궁금합니다.

0

193

2

36. Serialization #3 에서 string (name) 코드 수정 질문

0

82

2

외부 컴퓨터와의 통신 방법이 궁금합니다

0

106

1

스핀락 질문.

0

110

2