inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

AcceptEx, ConnectEx 사용에 도움을 받고 싶습니다.

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요, 비동기, 논블록 환경의 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-2 Github 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%8D AccpetEx 에 대한 마이크로 공식문서 : https://learn.microsoft.com/en-us/windows/win32/api/mswsock/nf-mswsock-acceptex Link : https://drive.google.com/file/d/1s8na3xe-o5nPPb8W6xuLMdl27XRfNChQ/view?usp=drive_link 감사합니다 :)

  • 네트워크
  • MMORPG
  • windows-server
OgNiR0215 댓글 1 좋아요 0 조회수 675

Unreal과 연동

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요. 감사하게도, 좋은 서버 강의 잘들었습니다. 끝으로 교육해주신 서버소스를 Unreal엔진에 연동하기위해서 참고할 자료나 가이드가 있을지 여쭙고자 질문 남겨드립니다. 확인 한번 부탁드리겠습니다. 감사합니다. 김준한 드림.

  • 네트워크
  • MMORPG
  • windows-server
김준한 댓글 1 좋아요 0 조회수 419

DBConnectionPool 소멸자에서 오류가 발생합니다..

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

왜 오류가 발생하는지 이해가 가질 않습니다. GameServer.cpp에서 db내용 넣는부분과 추출하는부분만 확인하려고 return 0; 을해서 바로 빠져나왔는데요 DBConnectionPool이 소멸되는 시점에 Clear 해주는데 이때 WRITE_LOCK을잡으려하는데 Lock이 없어지는 거같습니다 코드 그대로 복사해봐도 동일한 오류가 나오는데 이유가 있을까요? main에서 return을 중간에해서 종료하는건 지금만든 서버 에서는 할필요가 없을거 같긴한데요 찝찝한 느낌이 있어서 질문 드립니다..

  • 네트워크
  • MMORPG
  • windows-server
k ch 댓글 1 좋아요 0 조회수 475

30 : 10 서비스로 서버를 뛰운다는게 어떤 말인가요?

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

다른 외부의 요청으로 서버를 뛰우게 된다는 말로 이해하면 될까요?

  • 네트워크
  • MMORPG
  • windows-server
k ch 댓글 1 좋아요 0 조회수 382

volatile bool ready 질문입니다

해결됨

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

main쪽 ready=false로 둔 상태에서 t1을 먼저 만드는데, t1이 생성된 후 t2가 만들어지기전에 ready를 true로 하지말아줘 이런 목적일까요?? 쓰레드 생성 후 ready = true를 무시하고 바로 ready에 true를 넣으면 어떤문제가 발생하는 걸까요?

  • 네트워크
  • MMORPG
  • windows-server
minseob2996 댓글 1 좋아요 0 조회수 494

안녕하세요. part5계획은 언제정도 일까요??

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

생각중인 시기가 있는지 궁금합니다.

  • 네트워크
  • MMORPG
  • windows-server
k ch 댓글 1 좋아요 0 조회수 408

25:27 C_LOGIN패킷에서 Lock을 잡을 필요가 없나요?

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

게임세션의 _players 에 푸쉬백을 해주고 있는데요 여러스레드가 동시에 푸쉬백을 할 수 있지 않나요? WRITE_LOCK을 잡아줘야 하는것 아닌가요??

  • 네트워크
  • MMORPG
  • windows-server
k ch 댓글 1 좋아요 0 조회수 361

코드는 인식이 되는데 F12와 색상이 안입혀집니다.

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

코드 작성중에 std::atomic에 해당하는 compare_exchange_weak같은 코드들이 색상도 안입혀지고 F12를 통해서 atomic으로 가지지도 않습니다. 코드는 잘 실행 됩니다. 혹시 어떤 부분이 문제인지 알 수 있을까요?ㅠㅠ

  • 네트워크
  • MMORPG
  • windows-server
Book 댓글 1 좋아요 1 조회수 398

recv에서 블로킹 중일때 해당 쓰레드의 cpu사용량은 어느정도인가요?

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

recv함수에서 블로킹 중일때 os는 해당 쓰레드에 타임슬라이스를 할당하나요?할당한다면 블로킹중일때도 해당 쓰레드가 cpu를 고갈시키고있는지,할당하지 않는다면 수신버퍼가 들어왔을때 커널레벨에서 확인후 해당쓰레드에 타임슬라이스를 할당하는지 궁금합니다.

  • 네트워크
  • MMORPG
  • windows-server
shukang91 댓글 1 좋아요 0 조회수 369

이직 시 포폴은 어느정도로 준비하면 될까요?

해결됨

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

서버 개발자로 2년 근무 후 현재 퇴사 후 포폴 준비 중인데 포폴은 어느정도로 준비하면 되나요? 현재 클라이언트는 따로 없는데 콘솔로 채팅 서버 정도로 충분 할까요?? 아니면 서비스를 염두해 두는 것까지 준비를 해야 할까요? 간단한 클라이언트 작업을 하는게 낫나요?

  • 네트워크
  • MMORPG
  • windows-server
안상근 댓글 1 좋아요 0 조회수 631

WSAECONNABORTED 에러는 어떤 상황인가요?

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요, 좋은 강의 만들어주셔서 큰 도움이 되고 있습니다. WSAECONNRESET의 경우 클라이언트 쪽에서 강제로 연결을 종료했을 때 발생하는 것 같은데, WSACONNABORTED는 언제 발생하는 것인가요? MS 도큐먼트나 구글을 열심히 뒤져도 설명만으로 잘 이해가 안되서 질문드립니다.

  • 네트워크
  • MMORPG
  • windows-server
댓글 1 좋아요 0 조회수 792

언리얼 클라 연동강의

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요 루키스님 질문 게시판을 보다가 루키스님이 주말마다 클라이언트 연동 강의를 진행하고 계시고 마무리 단계라는 글을 봤습니다. 강의 출시 예정이 6개월~1년 텀을 두고 오픈한다고 하셨는데 혹시 더 빠르게 출시하실 생각은 없으신가요?ㅠㅠㅠ 대학교 졸업 작품을 언리얼을 사용해서 작업하기로 했는데 서버랑 연동하는게 생각보다 어려워서요. 그리고 루키스님 강의에 유니티 서버 연동강의가 있는데 그걸 봐도 언리얼에서 연동을 어느 정도 작업을 할 수가 있을까요?

  • 네트워크
  • MMORPG
  • windows-server
mafia7590 댓글 2 좋아요 0 조회수 648

마감된 lyra 멘토링 증원은 없나요?

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

인원이 100명이 꽉 찼더라고요. 한 번 듣고 싶은데 증원은 없나요? 그리고 궁금한게 있는데 멘토링은 정해진 해당 시간에 듣지 못하면 이후에 따로 들을 수는 없나요?

  • 네트워크
  • MMORPG
  • windows-server
franzz 댓글 1 좋아요 0 조회수 431

GameSessionManager 쪽에서 오류가 납니다.

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

디버깅을 해보니 GameSession.cpp의 전역으로 선언한 GSessionManager가 가생성 될때 Set<GameSessionRef> _sessions; 멤버 변수로 선언한 STL Allocator 의 Set을 만들어야 하는데 코어 글로벌이 아직 만들어지지 않은 상태 같습니다. 제 생각으론 코어 라이브러리 보다 GameServer프로젝트가 먼저 실행되는듯 보입니다.. 이런경우는 처음이라 어떻게 해결해야 하는지 난감하네요...

  • 네트워크
  • MMORPG
  • windows-server
k ch 댓글 1 좋아요 0 조회수 464

lockguard에 있는 mutex를 포인터로 안할 때

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

delete 되어있다...

  • 네트워크
  • MMORPG
  • windows-server
장재범 댓글 1 좋아요 0 조회수 415

이번에 진행하는 Lyra 멘토링 강좌 질문 있습니다.

해결됨

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

중간에 끼어들어 2개월차 멘토링에 신청하게 되었는데, 1개월차 내용도 들을 수 있는 건가요?

  • 네트워크
  • MMORPG
  • windows-server
중완 댓글 1 좋아요 1 조회수 499

언리얼 서버 연동 강의 질문

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요 루키스님 qna 게시판을 보다가 루키스님이 주말마다 언리얼 클라이언트 연동 강의를 주말마다 진행하고 계신다는 글을 봤는데 혹시 멘토링으로 진행하시는 건가요? 만약 진행 중이시라면 지금이라도 참여할 수 있을까요? 강의로 촬영하고 계신 거면 언제쯤 출시되는지 궁금합니다.

  • 네트워크
  • MMORPG
  • windows-server
winwincs 댓글 1 좋아요 0 조회수 472

acceptex 함수 성능에 관련해서 질문이 있습니다.

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

acceptex 함수를 사용하면 accept 쓰레드를 하나 만들어서 사용하는 거에 비해서 확실하게 성능 이득을 보는편인지 궁금합니다. 제 생각은 그렇게 차이가 심하게 날거라고 생각이 안 들거든요. 왜냐면, acceptex를 사용하면 그만큼 IOCP WorkThread 부담을 줄거라고 생각이 들고요, 그리고 소켓 풀로부터 어느 만큼 미리 만들어서 등록을 시켜줘야할지도 관건이 되겠고.. 결국 그 소켓 풀로 만드는 것도 풀이 비어 있으면 만드는 비용도 들어서 그렇게 큰 기대 효과를 못 볼거라고 생각이 들어서요. 그래서 결국 accept만 하는 스레드를 따로 빼서하는 것도 괜찮은 방법이라고 생각이 들거든요. 이 부분에 관해서 어떻게 생각을 하시는지 궁금합니다.

  • 네트워크
  • MMORPG
  • windows-server
이성원 댓글 1 좋아요 0 조회수 472

WSASend는 낚시대 다시 안던져도 되나요?

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

WSASend는 다시호출 안해줘도 되는건가요? 그리고 만약 보낸 데이터 그대로 다시보낼때 이런식으로 만들면 될까요??

  • 네트워크
  • MMORPG
  • windows-server
k ch 댓글 1 좋아요 0 조회수 511

Lock-Free Stack #3에서 질문이 있습니다.

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

IncreaseHeadCount 부분에서 CountedNodePtr newCounter = _oldCounter 를 해주는데 newCounter 같은 경우 지역변수이기 때문에 애초에 경합이 발생할 수 없지 않나요? int 변수를 공유하는 것도 아니고 완전히 새로운 지역 변수이기 때문에 좀 이해가 안됩니다. 오히려 oldCounter를 바꿔주기 위해서 head.compare _exchange_strong을 하는거 아닌가요?

  • 네트워크
  • MMORPG
  • windows-server
TH B 댓글 1 좋아요 0 조회수 447

인기 태그

인프런 TOP Writers

주간 인기글