묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
멀티스레드 프로그래밍에서 디버깅하면서 문제 추적하려면 어떻게 해야하나요?
멀티스레드 병렬 프로그래밍은 싱글 스레드와 다르게 디버깅하기가 매우 까다롭더라구요 ㅠㅠI/O 출력을 하거나 로그 파일로 따로 빼서 로깅을 확인하는건 싱글스레드까지만 가능하고 멀티스레드에서는 별 도움이 되지 못하더라구요이 외에 다른 방법으로는 디버깅 모드로 실행 시 문제가 발생했을 때, memory를 확인하면서 역추적하면서 문제를 해결하는 방법밖에 떠오르질 않는데, 이 방법이 맞을까요?예를 들면 여러 스레드를 실행하면서 call 횟수, 작업하는 변수의 주소값, 수행 시간 등을 list에 저장한 다음에 조사식에 해당 list를 끌어와서 확인해보려고 하는데...현업에서는 멀티스레드 로깅 및 문제 역추적할 때 어떤 방법을 사용하나요..?
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
타 장르의 게임을 개발하는데 있어서도 도움이 될수있는 강의인지요?
저는 앞으로 마블스냅 같은 게임을 1인개발로 만들어 출시해서 운영해보고 싶습니다.그 목표를 이루는데에 있어서, 지금 이 강의가 도움이 될수있을까요?게임 장르가 다르면 사용되는 기술이나 방법들이 많이 달라질수도 있는건가요?이 강의를 들으면 오직 방치형, 리니지라이크 같은 종류의 게임들만을 만드는데만 도움이 되고타 장르의 게임을 개발하는데는 별로 도움이 되지않는것인지 궁금합니다. 알려주세요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
DB연동, Connector, Session, Packet
안녕하세요. 강의 정말 잘 듣고있습니다.DB연동 부분에서 궁금한 점이 있어서 질문드립니다. 네트워크는 사용하지 않고, DB만 사용하는 게임을 만드려고 합니다. Connector로 Server와 Client를 연결하고, Session을 두고 Packet 을 보내는 작업이 꼭 들어가야 하나요?EFCore를 사용하려면 꼭 해야 하는 부분일까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
C++ 인스펙터 기능 문의드립니다.
C#개발을 주로 개발하는 개발자입니다. C#만가지고는 안될 것 같아서 C++을 공부하고있는데 함수나 변수 뒤에 . 찍어서 어떤 기능이 있는지 보여주는 인스펙터 기능이 C#에 비해 너무 불편해서 혹시 편리한 어떤게 있는지 궁굼해서 문의 드렸습니다. ㅠ ;빠진 부분도 오류가 안나와서 함참찾아야하는게 너무힘들어요 ㅠ .찍어도 나올 때도 있고 안나올때도있고 ㅠ 어렵습니다.!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요! 서버 연결 관련 질문드리고 싶은게 있습니다!
안녕하세요 강사님!강사님의 수업을 듣고 서버를 넣은 개인 포폴을 제작 중인 학생입니다서버와 클라이언트 연결문제가 있어서 질문드리고 싶은게 있습니다 같은 공간에서의 서버와 클라 연결에서는 문제가 없습니다 하지만 다른 공간에서 연결이 되지않는 문제가 있습니다 기본 게이트웨이가 다르면 연결이 되지 않는것 같아요 그래서 하마치 같은 프로그램을 사용하면 연결이 됩니다.. 이런 문제는 라우팅이 안돼서 발생하는 문제인가요? 제가 수업에서 놓친부분이 있는건지.. 이런 문제는 어떻게 해결할 수 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
연산자 정렬시 어떤 단축키를 이용하시는건가요?
31분쯤에 operator를 정렬 해줄때 어떤 단축키나 설정을 눌러서 하시는걸까요? 그리고 보통 이런 패턴으로 정렬을 많이 하시나요 업무에서?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
AcceptEx, ConnectEx 사용에 도움을 받고 싶습니다.
안녕하세요,비동기, 논블록 환경의 IOCP 서버를 구현하고 있습니다.문제는 AcceptEx, ConnectEx 호출 후 GetQueudCompletionStatus 를 호출하면 정상적으로 TRUE 의 값이 출력됩니다.하지만 서버에서 AcceptEx 를 호출하고, 완료 통보를 받았다면 서버가 클라이언트 소켓을 받아야 하는데 정상적으로 처리 되지 않는거 같습니다. 위 문제에 대한 코드에서 어떻게 해결 방안을 받거나 선생님의 도움을 받을 수 있을까요?왜냐하면 AcceptEx -> GetQueudCompletionStatus -> setsockopt 에서 AcceptEx 에 들어오는 소켓의 옵션을 설정해 주어야 한다고 마이크로 소프트 공식 문서에 써져 있는 것을 확인했습니다.하지만 옵션을 바꿔주기 전에 accept 소켓이 연결되어야 하는 상태인데 WSAENOTCONN 의 오류를 반환 받았습니다.하단 링크는 구글 드라이브 공유 링크입니다.문제가 있는 솔루션입니다.참고한 문서들은,소켓 오류 : https://learn.microsoft.com/ko-kr/windows/win32/winsock/windows-sockets-error-codes-2Github C 로 구현한 IOCP 비동기 논블록 서버 : https://github.com/YDYDWang/libiocpsocket/blob/master/sock.c#L335기본적인 IOCP 내용 블로그 : https://narakit.tistory.com/m/category/Computer%20Science%20%EA%B8%B0%EB%B3%B8%20%EC%A7%80%EC%8B%9D/%EC%86%8C%EC%BC%93%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8DAccpetEx 에 대한 마이크로 공식문서 : https://learn.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-acceptexLink : https://drive.google.com/file/d/1s8na3xe-o5nPPb8W6xuLMdl27XRfNChQ/view?usp=drive_link감사합니다 :)
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Unreal과 연동
안녕하세요. 감사하게도, 좋은 서버 강의 잘들었습니다.끝으로 교육해주신 서버소스를Unreal엔진에 연동하기위해서 참고할 자료나 가이드가 있을지 여쭙고자 질문 남겨드립니다.확인 한번 부탁드리겠습니다. 감사합니다. 김준한 드림.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
DBConnectionPool 소멸자에서 오류가 발생합니다..
왜 오류가 발생하는지 이해가 가질 않습니다.GameServer.cpp에서 db내용 넣는부분과 추출하는부분만 확인하려고 return 0; 을해서 바로 빠져나왔는데요 DBConnectionPool이 소멸되는 시점에 Clear 해주는데 이때 WRITE_LOCK을잡으려하는데 Lock이 없어지는 거같습니다 코드 그대로 복사해봐도 동일한 오류가 나오는데 이유가 있을까요? main에서 return을 중간에해서 종료하는건 지금만든 서버 에서는 할필요가 없을거 같긴한데요 찝찝한 느낌이 있어서 질문 드립니다..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
30 : 10 서비스로 서버를 뛰운다는게 어떤 말인가요?
다른 외부의 요청으로 서버를 뛰우게 된다는 말로 이해하면 될까요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
volatile bool ready 질문입니다
main쪽 ready=false로 둔 상태에서 t1을 먼저 만드는데,t1이 생성된 후t2가 만들어지기전에 ready를 true로 하지말아줘 이런 목적일까요??쓰레드 생성 후 ready = true를 무시하고 바로 ready에 true를 넣으면 어떤문제가 발생하는 걸까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요. part5계획은 언제정도 일까요??
생각중인 시기가 있는지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
25:27 C_LOGIN패킷에서 Lock을 잡을 필요가 없나요?
게임세션의 _players 에 푸쉬백을 해주고 있는데요 여러스레드가 동시에 푸쉬백을 할 수 있지 않나요? WRITE_LOCK을 잡아줘야 하는것 아닌가요??
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
코드는 인식이 되는데 F12와 색상이 안입혀집니다.
코드 작성중에 std::atomic에 해당하는 compare_exchange_weak같은 코드들이 색상도 안입혀지고 F12를 통해서 atomic으로 가지지도 않습니다.코드는 잘 실행 됩니다.혹시 어떤 부분이 문제인지 알 수 있을까요?ㅠㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
recv에서 블로킹 중일때 해당 쓰레드의 cpu사용량은 어느정도인가요?
recv함수에서 블로킹 중일때 os는 해당 쓰레드에 타임슬라이스를 할당하나요?할당한다면 블로킹중일때도 해당 쓰레드가 cpu를 고갈시키고있는지,할당하지 않는다면 수신버퍼가 들어왔을때 커널레벨에서 확인후 해당쓰레드에 타임슬라이스를 할당하는지 궁금합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
이직 시 포폴은 어느정도로 준비하면 될까요?
서버 개발자로 2년 근무 후 현재 퇴사 후 포폴 준비 중인데 포폴은 어느정도로 준비하면 되나요?현재 클라이언트는 따로 없는데 콘솔로 채팅 서버 정도로 충분 할까요??아니면 서비스를 염두해 두는 것까지 준비를 해야 할까요? 간단한 클라이언트 작업을 하는게 낫나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
WSAECONNABORTED 에러는 어떤 상황인가요?
안녕하세요, 좋은 강의 만들어주셔서 큰 도움이 되고 있습니다.WSAECONNRESET의 경우 클라이언트 쪽에서 강제로 연결을 종료했을 때 발생하는 것 같은데, WSACONNABORTED는 언제 발생하는 것인가요? MS 도큐먼트나 구글을 열심히 뒤져도 설명만으로 잘 이해가 안되서 질문드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
언리얼 클라 연동강의
안녕하세요 루키스님질문 게시판을 보다가 루키스님이 주말마다 클라이언트 연동 강의를 진행하고 계시고 마무리 단계라는 글을 봤습니다.강의 출시 예정이 6개월~1년 텀을 두고 오픈한다고 하셨는데 혹시 더 빠르게 출시하실 생각은 없으신가요?ㅠㅠㅠ대학교 졸업 작품을 언리얼을 사용해서 작업하기로 했는데 서버랑 연동하는게 생각보다 어려워서요.그리고 루키스님 강의에 유니티 서버 연동강의가 있는데 그걸 봐도 언리얼에서 연동을 어느 정도 작업을 할 수가 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
마감된 lyra 멘토링 증원은 없나요?
인원이 100명이 꽉 찼더라고요. 한 번 듣고 싶은데 증원은 없나요?그리고 궁금한게 있는데 멘토링은 정해진 해당 시간에 듣지 못하면 이후에 따로 들을 수는 없나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
GameSessionManager 쪽에서 오류가 납니다.
디버깅을 해보니 GameSession.cpp의 전역으로 선언한GSessionManager가 가생성 될때Set<GameSessionRef> _sessions;멤버 변수로 선언한 STL Allocator 의 Set을 만들어야 하는데 코어 글로벌이 아직 만들어지지 않은 상태 같습니다. 제 생각으론 코어 라이브러리 보다 GameServer프로젝트가 먼저 실행되는듯 보입니다.. 이런경우는 처음이라 어떻게 해결해야 하는지 난감하네요...