패킷 하나의 멤버변수만 바꾸고 싶어도 패킷 전체를 보내야하나요?
249
28 asked
예를 들어, 패킷 안에 들어있는 멤버변수 level만 1 증가시키고 싶습니다.
그러면 C_PlayerInfoReq 라는 큰 용량의 패킷을 하나를 보내야하나요? 아니면
send(int packId, int offset, int desired); 처럼
packid만 송신해서 level 주소에 접근하는 방법이 있을까요?
Answer 2
1
네 아주 자주 사용될 것 같은 패킷은 별도로 파야 합니다.
레벨만 바뀌는 경우는 드물고 레벨이 바뀌면 스탯도 바뀌니 조금 상황이 다르겠지만,
정말 '그' 부분만 바뀌고 또 자주 사용된다면 전용 패킷을 파주면 됩니다.
(그런데 실무에서도 이 부분은 늘 딜레마이긴 합니다)
0
감사합니다. 서버랑 클라 창 띄어놓고 디버깅하면서 공부중이에요. 재미있어요. 책보고 독학했으면 진작 포기했을 텐데 어렵지 않게 가르쳐준 루키스님께 너무너무 감사해요.
0
송수신할 때 보내는 데이터의 최소 단위가 패킷이므로
새로운 패킷을 하나 만들어도 될거같아요.
C_PlayerInfoReq의 level만 변경하는 패킷인 C_PlayerLevelChange처럼요.
패킷의 종류를 늘리면 할 수 있는 일은 많아지지만, 코드가 조잡해질 수도 있을거같아요
TLS 질문드립니다.
0
35
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
39
2
Unity Span
0
66
2
XML, Dll 차이점
0
99
2
Session 질문입니다
0
74
1
Write Read 커서 키워드
0
69
1
더미 클라이언트 수에 따른 OnDisconnect 발생
0
65
2
네트워크 Send 전담 스레드 배치
0
94
2
UnhandledException 으로 서버 터지는 경우
0
82
2
컨텐츠 단, 엔진 단
0
100
1
질문 있습니다
0
73
2
C# 게임서버 3D MMORPG
0
141
2
유니티6 버전
0
94
2
receive하는 부분과 send하는 부분의 차이
0
128
2
커서의 위치의 중요성
0
99
2
C++ 전혀 모르는데 C# 서버
0
164
2
강의에 질문이 있습니다
0
83
2
멀티스레드 이해도 질문
0
90
1
500 vs 500
0
122
3
OnAcceptHandler 액션 함수
0
57
1
이 정도 서버의 객관적인 수준이 궁금합니다.
0
185
2
36. Serialization #3 에서 string (name) 코드 수정 질문
0
78
2
외부 컴퓨터와의 통신 방법이 궁금합니다
0
100
1
스핀락 질문.
0
104
2

