두번째 세션부터 entergame 패킷이 보내지지않습니다.
346
작성한 질문수 2
Part4를 베이스로 삼아 간단한 동기화만 구현을 해보려고 해보는 중입니다. 문제가 되는 것은 처음으로 들어온 세션은 EnterGame 패킷과 Spawn 패킷을 모두 받는 반면에 두 번째로 들어온 세션은 Enter패킷이 들어오지않습니다...
상황을 정리하자면
첫번째 세션: MyPlayer생성 O, other Player 생성 O
두번째 세션: MyPlayer생성 X, other Player 생성 X
로그를 찍어보니 두번째 세션에 EnterGame Handler가 작동을 하지 않더군요... 혹시하는 마음에 질문해봅니다.
EnterGame
public override void EnterGame(GameObject gameObject)
{
if (gameObject == null)
return;
if (gameObject.ObjectType == GameObjectType.Player)
{
Player player = gameObject as Player;
_players.Add(gameObject.Id, player);
player.Room = this;
// 본인한테 정보 전송
{
S_EnterGame enterPacket = new S_EnterGame();
enterPacket.Player = player.Info;
player.Session.Send(enterPacket);
S_Spawn spawnPacket = new S_Spawn();
foreach (Player p in _players.Values)
{
if (player != p)
spawnPacket.Objects.Add(p.Info);
}
player.Session.Send(spawnPacket);
}
}
// 타인한테 정보 전송
{
S_Spawn spawnPacket = new S_Spawn();
spawnPacket.Objects.Add(gameObject.Info);
foreach (Player p in _players.Values)
{
if (p.Id != gameObject.Id)
p.Session.Send(spawnPacket);
}
}
}
답변 1
0
이런 문제는 무조건 디버깅을 통해 해결하셔야 합니다!
(당연히 위 내용만으로는 저도 알 수가 없습니다.)
클라 쪽에서 EnterGame 패킷을 보내고는 있는지 로그 or Breakpoint 확인해보시고
서버 쪽에서도 EnterGame 패킷을 받는지 로그 or BreakPoint 걸어서 확인해보시면
누가 범인인지 명확히 알 수가 있겠죠.
Lessons 3 & 4 don't have subtitles unfortunately
0
44
1
MessagePack
0
109
1
본인 플레이어 이동 관련 질문
0
73
1
Part7 Part9 질문이 있습니다.
0
97
1
.
0
136
1
.
-1
125
2
게임 로직 루프에서 게임 틱 누락으로 인한 높은 CPU 사용 문제
0
109
1
타일 팔레트 깔았는데도 안돼요
0
173
2
2D로 그냥 만들어도 되나요?
0
106
2
지난 강의와 이어지는게 맞을까요?
0
102
2
순환참조 문제로 인해 발생하는 문제는 없을까요?
0
171
2
유니티 클라와 C++서버연동
0
293
2
멀티플레이 테스트 환경 관련 질문입니다
0
234
3
강의 후반부에 순서 동기화를 위해 잡큐를 사용 안 한 부분 질문입니다!
0
171
2
코드 관련한 몇 가지 질문입니다!
0
180
2
3d 프로젝트 이동 동기화 관련
0
351
4
파트 7 스트레스 테스트 질문 드립니다.
1
212
2
맵 이동 방식
0
150
0
맵 이동 관련해서 질문드립니다.
0
103
1
안녕하세요 도저히 알 수 없는 오류가 나와서 질문드려요,,
0
228
2
안녕하세요. 일전에 질문 드린 포폴 준비 관련 질문의 추가 질문입니다!
0
175
1
[팁] 2024년 기준 버전 이슈?
0
472
1
SendBuffer.cs 삭제 후 대체 되는 부분의 장단점?
1
221
1
지금 강의의 유니티 클라를 IOCP 서버와 연동하는 것
0
345
2





