묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
MMORPG 초당 패킷에 관하여 궁금한점
안녕하세요.선생님 MMROPG 초당 패킷에 관하여 궁금한 점이 있습니다.지금 현재 Unity 클라이언트를 사용하여, 플레이어 움직임을 동기화 작업을 하고 있습니다.위메x드의 신규 게임인 나이트크로우의 플레이어 움직임을 모방하여 구현하고 있습니다.(나이트크로우는 카메라가 바라보는 방향으로 플레이어의 방향이 결정됩니다.)위,위 오른쪽, 오른쪽, 아래 오른쪽, 아래,아래 왼쪽,왼쪽,위 왼쪽,이렇게 8방향으로 움직입니다. 1초에 패킷이 얼마나 날아가는지 로그를 찍어 보았더니일반 MMORPG 게임을 하는 것처럼 움직이면 초당 평균 6개 정도 날아갑니다.하지만 인위적으로 키보드와 카메라를 엄청 움직이면 초당 최대 40번 까지 패킷이 날아갑니다. 제가 실무 경험은 없어도 MMORPG가 움직임만으로 초당 40번의 패킷을 쏘는건 문제가 있어 보입니다.그래서 나이트크로우에서는 어떻게 처리를 했나 확인하려고 들어가서 인위적으로 마구마구 움직여보니깐제 유니티 화면이랑 똑같이 마구마구 움직입니다.(다른 플레이어가 봤을 때 어떻게 움직이는지는 잘 모르겠습니다.)이러한 상황이고 패킷을 줄이는 해결방안을 모색중입니다. Dead Reckoning 방법을 써서 어느정도 패킷을 줄였는데도 짧은 거리를 마구잡이로 방향을 바꿔버리면서 이동하면 패킷이 그대로 날라가 버리게 되어서 문제입니다... <질문 요약>MMORPG 1초당 패킷 적정 수현업에서는 플레이어가 인위적으로 (앞으로 갔다 뗐다 빠르게 반복) 움직이는 걸 어떻게 처리하는지 궁금합니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
메서드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. HTTP 메서드를 어떤걸 보내든 결국에 서버단에서 결과를 덮어씌울지 , 삭제할지 , 생성할지 조회할지 결정하는것이 아닌가요? 예를들면 클라이언트 입장에선 PUT으로 바디에 특정데이터를 보내서 수정되길 원했는데 서버단에서는 해당 요청을 받고 바디는 싹 다 무시한체 리소스 위치를 이용해 DELETE쿼리로 삭제할 수있고 SELECT쿼리로 해당 리소스를 조회한 결과를 리턴해줄수도 있는데 이러면 결국 HTTP메서드가 무의미해지는게 아닌가하는지 궁금합니다.결국 Http메서드는 api를 호출하는 입장 ( 클라이언트 ) 에서 해당 행위를 기대하는 ( PUT이면 수정 , GET이면 조회 등 )기댓값으로 사용하는 것 인가요? 아니면 특별한 기능이 있는걸까요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
GWLB에 대한 질문
강사님, 안녕하세요.GWLB(게이트 웨이 로드 밸런서)에 대해 질문드립니다.온프레미스 네트워크 장비인 방화벽, IPS, IDS의 OS 이미지를 AWS의 EC2인스턴스와 연결해 보안 어플라이언스에 대한 암호화된 트래픽을 분산 처리하기 위해 로드밸런싱을 하는데. 이 트래픽을 단일 게이트웨이 지점인 게이트 웨이 로드밸런서의 엔드 포인트로 보내고 그 다음은 게이트 웨이의 로드밸런서로 보낸 후 다시 GWLBe로 보내고 각각의 엔드포인트로 분산해서 트래픽을 전송하는 게 맞는지 문의드립니다. GWLB는 4계층인데 GWLBe는 3계층인데. 동작 방식은 어떤지 왜 계층이 다른지 궁금합니다.감사합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제풀이 및 해설 pdf 요청 드립니다.
안녕하세요.실전문제풀이 및 해설 pdf 파일 받아 볼 수 있을까요?e-mail : nayutan@naver.com감사합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장 요청 드립니다~!
회사에 진행률을 제출해야 해서 수강기간 연장 부탁드립니다. 감사합니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
iocp 질문
iocp 를 설명하는 부분에서 메인 쓰레드에서 CreateIoCompletionPort 함수로 cp 에 소켓을 넣고 WSARecv 를 해주면 그 다음부터는 다른 쓰레드에서 WSARecv를 해줘야 한다고 하셨는데 그렇다면 그 소켓은 cp 에 게속 있으면서 이벤트를 받는건가요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
s3 replication 질문
안녕하세요 선생님s3 replication설정에서 기존 객체를 복제하시겠습니까?에서 아니오 복제를 안하겠습니다.를 고르면 실제 데이터가 아니라 그냥 원본에 대한 링크?같은것만 복사를 하겠다는 의미인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
CoreGlobal
CoreGlobal을 생성한 적이 없는데 어떻게 모든 전역변수들이 초기화 되는 건가요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
S3 리전관련 질문이 있습니다.
안녕하세요 선생님 S3관련 질문이 있습니다.s3 가 오른쪽 상단에는 글로벌 서비스(리전을 지정할 수없는) 인데실제로 생성할 때는 리전을 어차피고르는데이 차이점을 어떻게 받아들여야하나요...?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
PUT , POST , PATCH , DELETE 등..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.HTTP 메서드를 어떤걸 보내든 결국에 서버단에서 결과를 덮어씌울지 , 삭제할지 , 생성할지 조회할지 결정하는것이 아닌가요? 예를들면 클라이언트 입장에선 PUT으로 바디에 특정데이터를 보내서 수정되길 원했는데 서버단에서는 해당 요청을 받고 바디는 싹 다 무시한체 리소스 위치를 이용해 DELETE쿼리로 삭제할 수있고 SELECT쿼리로 해당 리소스를 조회한 결과를 리턴해줄수도 있는데 이러면 결국 HTTP메서드가 무의미해지는게 아닌가하는지 궁금합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
파티션 배치 그룹에 대한 질문
강사님 안녕하세요.1) 파티션 배치 그룹에서 파티션 끼리는 서로 다른 하드웨어를 사용한다는 말은동일한 파티션 내의 여러 대의 인스턴스를 배치했을 경우에 이 인스턴스는 서로 다른 하드웨어를 사용한다는 말인지 궁금합니다.2) 하나의 파티션 내에 EC2 인스턴스들이 각각 다른 서버랙에 위치한 EC 인스턴스들을 파티셔닝 하는 이유가 궁금합니다.3) 빅데이터 분산 처리 시스템에서 파티션 배치 그룹을 사용한다라고 설명 돼 있는데. 어떤 느낌인지 조금 더 자세한 설명 부탁드립니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
서버 연동 질문드립니다
벌써 루키스님 강의를 보기 시작한지 2년이 넘었습니다.항상 좋은 강의 감사드립니다 특히 요즘 다이렉트 강의보면서 혼자 공부할 때는 많이 힘들었는데 엔진 구조 개발 부분에서 많이 얻어가고 있습니다.이 강의를 공개하신 시점도 벌써 2년이 지나게 되었는데 혹시 언리얼과 게임서버 연동 하실 때 이 서버를 그대로 사용 하실 것 인지 아니면 다른 방식으로 업그레이드 후 서버 개발 후 연동하실지가 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
내장 SQL Server
SQL Server 2022에서는 SQL Server Native Client 드라이버가 제거된 것 같습니다. 이 경우에는 ODBC Driver 17 for SQL Server 드라이버를 활용하면 되나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Serialization #3 this.name
안녕하세요!강의를 수강하다가 질문이 생겨서 글 남깁니다.Serialization #3[08:30]name = "ABCD"의 문자열의 길이는 4이지만 byte배열로 변환하면 길이가 4byte가 아니라 8byte가 되는 것 까지는 이해하였습니다. 왜냐하면 C#은 UTF-16을 사용하므로 UTF-16은 문자들이 각 2Byte이기 때문입니다.Encoding.Unicode.GetByteCount(this.name)에서UTF-16기준으로의 바이트 배열로 변환됐을 때의 수를 가져오는 것이니까 그러면 위와 같이 8Byte인 것 같아서 어떻게 4Byte인지 궁금증이 생겨 질문 남깁니다!
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
map과 레드블랙트리가 같은건가요?
레드블랙트리 부분 강의를 들었는데규칙은 외울 필요 없이 이해만 하고, map을 사용하면 된다고 하셨는데map과 레드블랙트리가 같은건가요?
-
미해결자동차 SW - UDS 진단통신 정복하기
자동차 제어기들이 무선 통신이 아닌 CAN 통신을 사용하는 이유
안녕하세요.강사님께서 알려주시는 모든 강의 수강중인 학생입니다.CAN 통신 등장 배경에 대해 설명해주실 때, 자동차에서는 무선 통신이 아닌 전선을 매개로 하는 CAN 통신을 사용한다고 하셨는데, 자동차에서 정보를 주고받을 때 무선 통신을 사용하지 않는 이유가 궁금해서 질문 남깁니다.
-
미해결CloudNet@ - AWS 네트워킹 입문
route53 호스팅 영역 삭제 후 재생성
안녕하세요,lab5 부분 복습하기 위해 호스팅 영역을 삭제 후 다시 호스팅 영역 생성하였습니다.레코드 추가하고 dig 명령어 입력했는데, 정보를 못가져 오네요... 향 후 호스팅 영역을 다시 생성할 때 네임 서버를 잘 매칭해야 한다고 하셨는데,, 어떻게 매칭 해야 하나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Send lock 관련 질문
public void Send(byte[] sendBuff) { lock (_lock) { _sendQueue.Enqueue(sendBuff); if (_pendingList.Count == 0) RegisterSend(); } } void OnSendCompleted(object sender, SocketAsyncEventArgs args) { lock (_lock) { if (args.BytesTransferred > 0 && args.SocketError == SocketError.Success) { try { _sendArgs.BufferList = null; _pendingList.Clear(); // Doing if (_sendQueue.Count > 0) RegisterSend(); } catch (Exception e) { Console.WriteLine($"OnSendCompleted Failed {e}"); } } } }수업을 들으면서 Send와 OnSendCompleted에 lock이 서로 다른 두개이상의 쓰레드가 동시에 sendQueue, pendingList에 Write하는 것을 방지하는 것이라고 이해했습니다.그리고 Send의 if문이 다른 쓰레드가 전송중일때를 체크하는 것이라고 들었는데 저 2개의 lock구조에서, 쓰레드A가 OnSendCompleted의 lock구역안에 있을 때 쓰레드B가 Send의 lock구역에 진입이 가능한지 궁금합니다.만약 접근이 안된다면 pendingList.Count가 항상 0이 되지않을까 생각하고 있습니다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
socket에 대한 정확한 정의가 무엇인가요?
강의를 봐오면 socket에 대한 표현이 비슷하지만 약간 씩 다른것 같아서 제가 딱 한 문장으로 정의하기 어려움을 느끼고 있습니다 ㅠㅠ..물론 설명해주신 내용이 다 맞고 같은 내용을 표현한 것이란 걸 알지만 딱 한 문장으로 정의한 socket에 대한 정의를 알고 싶습니다.유저 모드 어플리케이션 프로세스가 접근할 수 있도록 커널 모드 프로토콜을 추상화한 인터페이스라고 알고 있으면 될까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
수업자료 다운로드 후 빌드 오류
첨부파일을 다운받아 그대로 빌드를 실행했는데, 다음의 부분에서 에러가 생깁니다.#if 3017001 < PROTOBUF_MIN_PROTOC_VERSION #error This file was generated by an older version of protoc which is #error incompatible with your Protocol Buffer headers. Please #error regenerate this file with a newer version of protoc. #endif이상한 점이 protoc 3.17.1 버전으로 생성한 Enum.pb.h인데 PROTOBUF_MIN_PROTOC_VERSION의 값이 3021000으로 뜹니다. 혹시 Visual studio 2022를 사용해서 ide때문에 에러가 생기는 것일까요?