묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
RPC가 Property Replication 보다 빠른가요?
뜬금없는질문이지만...1강 32:20 경에 Property Replication이 RPC에 비해 반응속도가 느리다 라고 말씀하셨는데왜 그런지 간략히 알수 있을까요?저는 그동안 반대로 알고있었거든요. RPC가 느린줄...
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
AGameState는 어떻게 Connection을 가지고 통신을 하는지 궁금합니다.
3강 강의를 듣다가 궁금하게 생겼습니다.일단 저는 다음과 같이 이해하였습니다.'어떤 Actor가 통신을 하려면 Owner를 따라가봤을때 Connection을 소유해야 하며, 일반적으로 Actor 통신 시 Connection을 가지는 PlayerController의 Connection을 이용하여 통신을 진행한다.' 통신에는 RPC, Property Replicate가 속한다고 생각합니다. 그런데, 제가 AGameState에서 Replicate와 RPC를 사용했던 적이 있어서, 이건 어떻게 통신할까? 혹시 서버의 PlayerController가 Owner일까? 궁금했습니다.그래서 다음과 같이 AGameState의 HandleBeginPlay에서 람다로 충분한 시간을 준 뒤 Owner를 출력해보았으나,void AABGameState::HandleBeginPlay() { AB_LOG(LogABNetwork, Log, TEXT("%s"), TEXT("Begin")); Super::HandleBeginPlay(); AB_LOG(LogABNetwork, Log, TEXT("%s"), TEXT("End")); FTimerHandle handle; GetWorld()->GetTimerManager().SetTimer(handle, [this]() { AB_LOG(LogABNetwork, Log, TEXT("Owner : %s"), *Owner->GetName()); }, 10.f, false); }Owner 접근 시 크래시가 나는것을 확인하였습니다. 그렇다면, AGameState는 어떻게 Connection을 사용할 수 있는 것인가요?제가 잘못 이해한 것일까요?특별한 Connection을 가지는 Actor가 따로 있나요? 아니면 AGameState가 자체적으로 Connection을 가지게 되나요? 혹시 이후 강의에 다루는데 제가 아직 3강까지 밖에 안 봐서 모르는 것일까요..?
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
라우팅 테이블 추가 후 바로 ping이 안되는 원인
안녕하세요. 수업 들으면서 궁금한 점이 있어서 질문을 남겨놓습니다. RIPv1, RIPv2 강의 중에 라우팅 설정이 끝나도 처음 한번은 ping이 안될 수 있다고 말씀해주셨는데, 어떤 사유로 처음에 안되는 건지 알 수 있을까요?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
라우터와 게이트웨이의 차이
안녕하세요 강사님지금 네트워크 영상 기초 강의들을 계속해서 보고있습니다보던 중에 라우터가 데이터 패킷 전달을 위해 최적의 경로 설정을 해주는 L3 스위치라고 들었습니다그리고 게이트웨이도 데이터 전달 과정에서 택배기사 같은 역할을 하며 라우팅을 한다고 들었는데요,이 둘의 정확한 차이점을 혹시 알 수 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
Listen Server 실행 시 StandAlone 로그가 찍히지 않습니다.
현재 개발 환경은 Rider IDE에, UE 5.3.1 사용중입니다.32:00 쯤에 Play As Listen server + 뷰포트에서 실행 으로 실행 시 StandAlone으로 먼저 실행이 된다고 하셔서 그대로 따라했는데저는 Server로 된 로그만 나옵니다.5.3에서 변경 사항이 있는 것일까요? 아니면 제가 세팅을 잘못한 것인가요? 혹시 제가 잘못 따라쳤나 싶어서 제공해주신 브랜치에서 다운로드 후 실행 해보았는데도 같았습니다. 새로운 Client들을 계속 추가해도 GPlayInEditorID가 계속 0으로 들어오는데, 혹시 이것도 관련이 있을까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
send 과정에서 멀티스레딩에 관한 질문입니다
//양질의 수업 감사합니다. 데이터를 보내는 과정은 수업에서 크게send() // 데이터를 큐에 넣고 보내는 사람이 없으면 직접 보냄register_send() // 비동기로 send 실행on_send() // 데이터 전송 후 콜백 함수총 3가지 과정입니다근데 여기서 lock 경합 상태를 방지하기 위해 누군가가 보내고 있으면 큐에 데이터를 넣기만 하고 다른 일을 하러 가고 실제로 보내는 스레드는 단 1개로 설계한 것처럼 보이는데 큐에 데이터를 넣는 과정도 lock 안에 있어서 데이터를 보내는 스레드가 일을 마칠 때까지 큐에 데이터 못 넣고 대기 상태에 빠지지 않나요? 그래서 결국엔 lock 경합을 예방하는데 도움이 되는지 궁금하네요뭔가 send_queue 이 자원은 object key를 따로 만들어서 딱 이 녀석만 상호배제해야 할 것처럼 생각이 드네요
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
꼭 Item() 생성자를 수정해야 하나요?
단순히 Weapon() 안에서 itemType = IT_Weapon;을 써주면 안되나요?Weapon::Weapon(){ switch (_rarity) { case IR_Normal: _damage = 1 + rand() % 5; break; case IR_Rare: _damage = 1 + rand() % 7; break; case IR_Unique: _damage = 1 + rand() % 10; break; } itemType = IT_Weapon;}
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
도커 적용 과정
제가 현재 docker의 기능을 사용해서 졸업 프로젝트를 배포로 마무리 하려고 합니다. 현재 저는 팀원을 통해branch를 따서 받은 docker 파일을 가지고 있습니다. 이것을 docker compose와 nginx를 사용하여 배포를 마치려고 하는데 파일을 docker 컨테이너로 만드는 과정이 몇 강에 소개 되었는지 기억이 나질 않습니다.저희의 같은 팀원이 만들어 놓은 서버 구상도 인데 git 에서 받은 파일로 배포를 적용하는 방법을 모르겠어서 질문 드립니다.
-
미해결AWS Certified Advanced Networking - Specialty 자격증 준비하기
site-to-site 실습 관련 질문입니다.
VPN 연결 생성에서 IP 주소를 on-prem 퍼블릭 주소를 넣으셨는데 Public IP 대신 NAT 아이피를 넣어도 되는건가요 ??감사합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
비동기 함수와 lock 의 관계에 대한 질문입니다
lock(key){ bool pending = recvAsync() if(pending == false) //콜백 함수}이런 상황에서 비동기 함수가 pending == true면 흐름이 끊긴다고 할까요? 대기 중인 상태 랄까요 어쨋든 이런 상황에서는 다른 스레드가 lock 안으로 들어올 수 있나요?? 질문을 다시 정리하면 스레드 1이 위의 코드에서 pending 이 true 인 상태면 lock 을 빠져나가서 스레드2가 lock 안으로 들어 올 수 있나요 아니면 스레드가 1 이 lock 안에 계속 있는 판정이라서 스레드2 가 lock 안으로 들어올 수 없나요??
-
미해결외워서 끝내는 네트워크 핵심이론 - 기초
라우터가 아니여도 서브넷 마스크가 필요한 이유가 뭔가요?
CMD창에 ipconfig를 해보니 제 노트북도 서브넷 마스크가 존재하던데, 라우터라면 서브넷 마스크로 네트워크ID와 호스트ID를 통해 적절하게 포워딩해야 하기에 서브넷 마스크가 필요할거라 생각하는데 제 컴퓨터는 라우터가 아님에도 가지고 있는 이유가 궁금했습니다.검색해보니 서브넷 안에서 요청이 오갈때는 라우터를 거치지 않고, 이 때 서브넷 마스크를 사용한다고 하더라고요. 그런데 이 경우 저의 IP와 서브넷 마스크는 존재하지만 목적지에 대한 IP만 존재할 뿐 이에 대한 서브넷 마스크는 존재하지 않는데 어떻게 같은 서브넷에 있는 호스트임을 판단하는지 이해가 안됩니다.질문을 요약하면서브넷 마스크를 라우터가 아님에도 갖고 있는 이유는 서브넷 통신을 하기 위함인 것이 맞나요?만약 서브넷 통신임을 라우터가 아닌 출발 호스트가 판단하는 것이 맞다면 목적지 서브넷 마스크는 모르는데 어떻게 같은 네트워크임을 판단하나요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
"board에 쓰는 동안 버퍼 오버런이 발생했습니다"
안녕하세요 달팽이 문제를 푸는데 답은 잘 나옵니다 그런데 SetBoard함수의 board[y][x] = i이 부분에서 "board에 쓰는 동안 버퍼 오버런이 발생했습니다"라는 경고가 나옵니다 이러한 경고가 왜 뜨는지와 이 경고를 해결하려면 어떻게 코드를 수정해야 하는지 알 수 있을까요?코드링크:http://boj.kr/d69d82f1e84c49da942ec7948ab48529
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
스토리지 게이트웨이를 사설망으로 구성할 수 있나요?
안녕하세요. 수업 잘 듣고 있습니다. 다이렉트 커넥트로 연결된 폐쇄망에서 스토리지 게이트웨이를 사용할 수 있을지 궁금합니다. https://docs.aws.amazon.com/filegateway/latest/files3/gateway-private-link.html#create-vpc-endpoint 사설망으로 구성된 VPC에 VPC 엔드포인트를 만들어서 연결할 수 있는 것처럼 보이는데 공용ip 설정하지 않고 온프렘과 S3를 스토리지 게이트웨이를 거쳐서 다이렉트 커넥트로 연결할 수 있는 건지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Lock-Free Stack #3에서 질문이 있습니다.
IncreaseHeadCount 부분에서 CountedNodePtr newCounter = _oldCounter 를 해주는데 newCounter 같은 경우 지역변수이기 때문에 애초에 경합이 발생할 수 없지 않나요? int 변수를 공유하는 것도 아니고 완전히 새로운 지역 변수이기 때문에 좀 이해가 안됩니다. 오히려 oldCounter를 바꿔주기 위해서 head.compare_exchange_strong을 하는거 아닌가요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
실전문제풀이6 8번
기본 db 인스턴스가 대충 뭔지는 알겠어요. 복제본들의 원본인거 같아요. 근데 단일 db 인스턴스는 무슨 차이가 있나요?단일 db 인스턴스로 생성하면 db 인스턴스 클러스터는 생성되지만 복제본이 만들어지지 않나요?단일 db 인스턴스와 기본 db 인스턴스는 복제본 및 오프로드 차이 뿐인가요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
섹션 6. docker 주요 명령 익히기
이 섹션에서 docker 익히기 5강에서 나오는 수업 자료가 풀스텍 파트 3에서는 제공이 되지 않는 것 같습니다..제가 도커 관련 지식만 필요해서 파트 1, 2 수업을 수강 하지 않고 바로 3파트를 수강 하였는데 혹시 저도 여기 나오는 자료를 추가로 받을 수 있을까요?
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
안녕하세요. 수강 기간 연장 가능할까요?
10월 말에 시험을 잡아놓고 준비하고 있었는데 회사 업무로 바빠져서 부득이하게 연장을 요청드리고 싶습니다.확인 후 조치해주시면 감사드리겠습니다 ㅠㅠ
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
VPC NACL 관련 질문이 있습니다.
EC2 웹서버 운영시 외부에서 Client가 접속 후 리턴 트래픽을 받을 때 NAT를 사용하므로 임시포트 1024-65535를 사용-> 이라고 설명해주셨는데 publicIP 를 privateIP 로 전환해주는 1:1 NAT 말고 다른것을 이야기하는건가요? 잘 이해가 안됩니다. 리턴 트래픽을 받을때는 목적지 포트가 클라이언트가 요청을 보낸 프로세스의 포트일테고, 해당 포트를 허용해주면 되는거아닌가요? NAT 가 왜 나오는지 잘 이해가 안됩니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장 부탁드립니다.
올해 안에 합격하기에 남은 수강기간이 빠듯하여 수강기간 연장 부탁드립니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
함수 호출과정 질문입니다
안녕하세요.배운 내용을 다시 공부하면서 실행해본 결과입니다.함수 호출시에 232바이트만큼 rsp를 이동시키고 rbp를 32바이트만큼 빼서스택프레임당 32byte와 200byte의 여백을 남기는것을확인했습니다. 컴파일러가 컴파일시에 스택 사이즈를 정하고 저장하는 위치가 어디인지 궁금합니다. (예를들어 스택프레임은 32byte고 중간에 카나리(?)는 200byte라는걸 결정하면, os는 프로그램 실행시 해당 정보를 어떻게 알 수 있나요?)