묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[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프로젝트가 먼저 실행되는듯 보입니다.. 이런경우는 처음이라 어떻게 해결해야 하는지 난감하네요...
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
lockguard에 있는 mutex를 포인터로 안할 때
delete 되어있다...
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
이번에 진행하는 Lyra 멘토링 강좌 질문 있습니다.
중간에 끼어들어 2개월차 멘토링에 신청하게 되었는데, 1개월차 내용도 들을 수 있는 건가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
언리얼 서버 연동 강의 질문
안녕하세요 루키스님qna 게시판을 보다가 루키스님이 주말마다 언리얼 클라이언트 연동 강의를 주말마다 진행하고 계신다는 글을 봤는데 혹시 멘토링으로 진행하시는 건가요?만약 진행 중이시라면 지금이라도 참여할 수 있을까요?강의로 촬영하고 계신 거면 언제쯤 출시되는지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
acceptex 함수 성능에 관련해서 질문이 있습니다.
acceptex 함수를 사용하면 accept 쓰레드를 하나 만들어서 사용하는 거에 비해서 확실하게 성능 이득을 보는편인지 궁금합니다. 제 생각은 그렇게 차이가 심하게 날거라고 생각이 안 들거든요.왜냐면, acceptex를 사용하면 그만큼 IOCP WorkThread 부담을 줄거라고 생각이 들고요, 그리고 소켓 풀로부터 어느 만큼 미리 만들어서 등록을 시켜줘야할지도 관건이 되겠고.. 결국 그 소켓 풀로 만드는 것도 풀이 비어 있으면 만드는 비용도 들어서 그렇게 큰 기대 효과를 못 볼거라고 생각이 들어서요. 그래서 결국 accept만 하는 스레드를 따로 빼서하는 것도 괜찮은 방법이라고 생각이 들거든요. 이 부분에 관해서 어떻게 생각을 하시는지 궁금합니다.