inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

추가 질문) AcceptEx함수를 사용하지않고 WSAIoctl 사용이유

미해결

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

https://stackoverflow.com/questions/4470645/acceptex-without-wsaioctl 다른 질문에서 보내주신 링크로 들어가서 확인 했습니다. 추가적으로 제가 이해한 부분이 맞는지 확인해주시면 감사하겠습니다. 기본적으로 AcceptEX, ConnectEX 함수등은 아키텍처가 외부에 있기에 많은 비용이 발생하여 맵핑하여 사용한다고 생각이 듭니다 이것을 제외하고 추가적인 부분이 있을까요?

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

구글에도 DNS 서버가 있는 이유와 host 파일

해결됨

외워서 끝내는 네트워크 핵심이론 - 기초

강사님 안녕하세요, 우선 유튜브와 인프런 강의들을 정독하면서 최근에 많은 도움을 받고 있습니다. 질 좋은 강의 만들어주셔서 정말 감사합니다. 이번 강의를 들으며 두 가지 궁금증이 생겼습니다. DNS 서버는 ISP에 딸려 있는 것이 아닌 모든 웹 사이트에 존재하는 것일까요? 구글의 DNS는 8.8.8.8인 것은 알고 있었는데, 생각해보니까 다른 사이트의 IP주소를 알려주는 역할을 구글이 왜 하고 있는 것인지 궁금합니다. host 파일 관련해서, DNS 서버는 IP주소를 알려줄 때 유효기간도 같이 알려준다고 하셨는데, host 파일에 저장된 IP주소도 당연히 해당 유효기간의 영향을 받는 것이라고 생각해도 될까요?

  • 네트워크
jankim7878 댓글 1 좋아요 0 조회수 652

AccountManager.h에서는 pch.h가 include되어 있는지 모르는데

미해결

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

정말 기초적인건데 갑자기 이해가 안돼서 질문 남깁니다. AccountManager.h에서는 pch.h가 include되어 있는지 모르고 AccountManager.cpp에만 include되어 있는데 어떻게 AccountManager에서는 map에 std::를 안붙이고 쓰고, int32 타입을 쓸 수 있는걸까요?

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

Symmetric NAT 관련 질문입니다.

해결됨

외워서 끝내는 네트워크 핵심이론 - 응용

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의 잘 보고 있습니다, 다름 아니라 Symmetric NAT는 세션마다 External Port를 부여한다고 하셨는데 , 하나의 Local IP , Local Port가 두 개의 다른 Remote IP 와 Remote Port에게 각각 패킷을 보내서 Outbound가 발생하면 NAT table에 아래와 같이 매핑되는지 궁금합니다. Local IP L.Port E.Port RemoteIP Remo.Port 192.168.0.10 3000 8080 15.15.15.15 5555 UDP 192.168.0.10 3000 8081 15.15.15.14 4444 UDP L.port -> Local Port E.port -> External Port 글쓰는 창이 좁아 형식이 이상한점 죄송합니다. 감사합니다.

  • 네트워크
이승언 댓글 1 좋아요 0 조회수 717

echo server가 아닌 경우 연결 체크에 대한 질문

미해결

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

유저의 input이 없을 경우 보낼 데이터가 없는 간단한 채팅 서버라고 할 때, 이런 경우에 연결을 확인하기 위해 ping pong을 통해 지속적으로 연결 상태를 체크하나요?

  • 네트워크
  • MMORPG
  • windows-server
김재윤 댓글 1 좋아요 0 조회수 319

Date 정보와 referer

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] referer는 아무리 오타여도 이미 고칠 수 없을 정도로 퍼져, 그대로 사용한다는 것은 이해했습니다. 그러나 중간중간 나오는 (ex, Date) 중간에 바뀌었다는 것들은 어떻게 바뀔 수 있었던건가요? referer처럼 널리 퍼져서 바뀌기 힘든 것과, 널리 퍼지지 않은 것의 차이인가요?

  • 네트워크
댓글 1 좋아요 0 조회수 294

병합정렬 MergeResult() 질문입니다

미해결

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

안녕하세요 루키스님 강의를 듣다가 이해가 잘 되지 않는 부분이 있어서 질문드립니다!! 병합 정렬의 MergeResult() 에서 아래 코드가 잘 이해가 안되는데요..! 왜 v[left] = temp[i] 가 아니라 v[left + i] = temp[i] 인건가요..?? // temp 에 넣어준 걸 원본에 덮어쓰기 for (int i=0; i<temp.size(); i++) v[left + i] = temp[i];

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
로켓라쿤 댓글 1 좋아요 0 조회수 375

수강기한 연장 요청드립니다

미해결

AWS Certified Solutions Architect - Associate 자격증 준비하기

일이랑 병행하면서 열심히 공부중이나 기한이 부족합니다 기한 연장 부탁드리겠습니다 ㅠㅠ

  • 네트워크
  • aws
김명주 댓글 1 좋아요 0 조회수 348

네트워크 통신 방식에 대해 질문드려요.

미해결

그림으로 쉽게 배우는 네트워크

강의 3:14 에서 허브가 물리 신호를 브로드캐스팅 한다고 설명해 주셨는데 이전 강의 내용을 기반으로 3:33 ~ 3:45 내용은 유니캐스트 라고 생각을 했는데 어떤게 맞는건가요?

  • 네트워크
DongKyu Park 댓글 2 좋아요 1 조회수 568

데드락 관련해서 질문이 있습니다. 루키스님!

해결됨

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

데드락 관련해서 버그가 떠서 질문글을 남깁니다. 윈도우 어플리케이션을 생성해서 윈도우 메인에 서버에게 C_LOGIN을 보내는 패킷을 생성했습니다. 밑은 해당 코드입니다. bool flag = true; while (true) { if (PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE)) { if (WM_QUIT == msg.message) break; if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } else { CEngine::GetInst()->progress(); CEditorObjMgr::GetInst()->progress(); ImGuiMgr::GetInst()->progress(); // 렌더 종료 CDevice::GetInst()->Present(); if (service->GetCurrentSessionCount() > 0 && KEY_RELEASE(KEY::A) && flag == true) { Protocol::C_LOGIN pkt; auto sendBuffer = ServerPacketHandler::MakeSendBuffer(pkt); sendBuffer = nullptr; flag = false; } } } return (int) msg.wParam; } A를 클릭해서 서버와 연결한 후에 X를 눌러서 윈도우 창을 닫았는데, 이후 이렇게 코어글로벌이 종료될 때, GSendBufferManager를 delete하는 부분에서 타고타고 들어가서 DeadLockProfiler가 DeadLock이 존재했다고, 알려줬습니다. Server에 OnConnected가 되었을 때, 패킷을 보내면 이런 문제가 일어나지 않았는데, 원하는 때, 원하는 키를 입력해서 패킷을 보내려고 하니까 문제가 일어나네요 ㅜㅜ 문제를 알 수 있을까요? 프로토 버퍼를 사용해서 주고 받고 있습니다!

  • 네트워크
  • MMORPG
  • windows-server
가랑눈 댓글 1 좋아요 1 조회수 457

안녕하세요 루키스님. 클라 연동에 관해서 질문을 드리고 싶습니다.

해결됨

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

안녕하세요 루키스님. 제가 비쥬얼 스튜디오에서 윈도우 어플리케이션을 만들어서 DX11포폴을 만들고 서버를 연동하려고 시도중입니다. 이 상황에서 wWinMain에 ClientServiceRef service = MakeShared<ClientService>( NetAddress(L"127.0.0.1", 7777), MakeShared<IocpCore>(), MakeShared<ServerSession>, // TODO : SessionManager 등 1); ASSERT_CRASH(service->Start()); GThreadManager->SetFlags(1); for (int32 i = 0; i < 2; i++) { GThreadManager->Launch([=]() { while (true) { service->GetIocpCore()->Dispatch(10); } }); } //밑은 DX11을 작동시켜주기 위한 함수들입니다. while (true) { if (PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE)) { if (WM_QUIT == msg.message) break; if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } } else { CEngine::GetInst()->progress(); CEditorObjMgr::GetInst()->progress(); ImGuiMgr::GetInst()->progress(); // 렌더 종료 CDevice::GetInst()->Present(); } } 이렇게 쓰레드를 생성해서 작동을 시켜주었습니다. 그런데 생성된 게임 윈도우에서 X키를 눌러서 프로그램을 강제로 종료시켰는데, 이 메인 쓰레드 자체는 정상적으로 WM_DESTROY를 호출 받아서 종료되었는데, 멀티 쓰레드들이 멈추지 않고 계속 돌아 프로그램이 종료되지 않고, 좀비처럼 살아남는 현상이 계속되고 있습니다. 쓰레드를 강제로 종료시키니 메모리 릭이 남고, 어떻게 문제를 해결해야할지 해결책을 찾지 못해서 이렇게 질문 남깁니다. 참고) 루키스님의 패킷 직렬화#3 코드를 참조해서 만들고 있습니다! 감사합니다.

  • 네트워크
  • MMORPG
  • windows-server
가랑눈 댓글 1 좋아요 1 조회수 423

수강 기간 연장 요청

미해결

AWS Certified Advanced Networking - Specialty 자격증 준비하기

안녕하세요. 일과 병행하며 듣고 있어 수강기간 연장이 부득이하게 필요합니다. 수강기간 요청 부탁드립니다. 감사합니다!

  • 네트워크
  • aws
아이러브 댓글 1 좋아요 0 조회수 298

비동기를 제대로 이해했는지 궁금합니다

미해결

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

1) 제가 제대로 비동기 방식을 이해한게 맞는지 궁금합니다. 비동기 방식이 어떤 함수를 호출한다면 함수를 지금 바로 처리하지 않고 예약같은 개념으로 요청한 함수를 나중에 처리하고 그동안 요청한 함수외에 다른 부분을 실행하는걸로 이해를 했는데 맞는건지 궁금합니다. 2) 만약에 제가 이해한 방식대로 비동기가 진행이 된다면 수업에서 진행한 ::WSAWaitForMultipleEvents(1, &wsaEvent, TRUE, WSA_INFINITE, FALSE); 코드에서 블로킹 방식처럼 진행하는데 이 부분은 비동기와는 맞지 않는 부분아닌가요??

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

API 관련 내용도 나올까요?

미해결

윤재성의 자바 기반 안드로이드 앱개발 Part 3 - 데이터관리와 네트워크

API 강의도 나올지 궁금하네요

  • java
  • android
  • 네트워크
  • sqlite
문윤성 댓글 1 좋아요 0 조회수 434

ARP와 관련하여 질문있습니다.

해결됨

그림으로 쉽게 배우는 네트워크

ARP 프로토콜이 언제 발생하는지에 대해 질문드립니다. 질문 1 : 해당 그림에서 라우터 1과 라우터 2가 서로간의 맥주소를 모르고 있다면 여기에서도 ARP 프로토콜이 발생하나요? -> 빨간색으로 표시해두었습니다. 질문 2 : 해당 그림에서 라우터 2가 교수님 pc의 mac주소를 모르고있다면 ARP 프로토콜이 일어나나요? -> 녹색으로 표시해두었습니다. ARP가 언제 일어나는지 구체적으로 알고 싶어서 질문드립니다. 감사합니다~

  • 네트워크
안녕하세요 댓글 1 좋아요 1 조회수 545

데드락 탐지

미해결

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

데드락 탐지에 관련해서 궁금한게 있어서 질문드립니다. 아래의 코드로 lock_guard를 이용해서 데드락을 탐지 하려고하는데 데드락이 되는 상황이 발생하고, 탐지는 안되는 경우가 가끔 발생하네요... DeadLockProfiler는 예제의 코드를 복사해서 사용했습니다. #include "pch.h" #include <iostream> #include "DeadLockProfiler.h" mutex lock1; mutex lock2; void Test(); void Test2(); void Test() { DeadLockProfiler::GetInst()->PushLock("Test"); lock_guard<mutex> gurad(lock1); Test2(); DeadLockProfiler::GetInst()->PopLock("Test"); } void Test2() { DeadLockProfiler::GetInst()->PushLock("Test2"); lock_guard<mutex> gurad(lock2); Test(); DeadLockProfiler::GetInst()->PopLock("Test2"); } int main() { thread th1([=] { while (1) { cout << "test" << endl; Test(); this_thread::sleep_for(100ms); } }); thread th2([=] { while (1) { cout << "test2" << endl; Test2(); this_thread::sleep_for(100ms); } }); th1.join(); th2.join(); return 0; }

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

spring과 http캐시

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

강의에서 캐시의 조건을 설정할 때 no cache, no store, must-revalidate 셋을 모두 설정해야한다고 하셨습니다. 그래서 제가 스프링(spring boot말고 그냥 spring입니다)에서 WebContentInterceptor에 CacheControl 클래스로 조건을 설정하려고 했습니다. @Bean public MappedInterceptor webContentInterceptor() { String[] includePatterns = {"/board/game/**"}; WebContentInterceptor wci = new WebContentInterceptor(); CacheControl cacheControl = CacheControl.noCache(); wci.addCacheMapping(cacheControl, "/**"); return new MappedInterceptor(includePatterns, wci); } 그런데 CacheControl에서는 no cache와 no store를 동시에 설정을 할 수 없었습니다. https://github.com/spring-projects/spring-framework/issues/18354 위 링크에서 글을 보면 no store가 이전 브라우저에서 동작하지 않는 것을 확인하지 못했다고 말을 하고 있는 것 같습니다. 그래서 no cache와 no store 둘을 같이 사용할 일이 없다고 하는 것 같아서요. 아니면 제가 직접 response를 건드려서 no cache와 no store를 둘 다 설정해야만 할까요?

  • 네트워크
  • cachecontrol
서민우 댓글 1 좋아요 0 조회수 711

대용량 트래픽에 stateless

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

강의에서는 대용량 트래픽이 발생할 요청에는 stateless로 설계하라고 말씀하셨지만 실제로는 로그인 정보나 그외 등등을 유지하고 있잖아요. 그럼 반대로 평소에 stateful하게 관리하다가 이벤트 페이지등 대용량 트래픽이 발생할 때 stateless하게 관리되는 정보들은 무엇무엇이 있나요?

  • 네트워크
yoona405 댓글 2 좋아요 0 조회수 520

템플릿 흑마법을 보고 질문 글을 남깁니다.

미해결

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

Job Queue #2의 영상을 보고 질문드립니다. 이 영상을 보고 저번에 메모리 관련해서도 보고 느낀 것인데, 템플릿 흑마법을 따로 공부할 수 있는 책이나 가이드가 있을까요? 루키스님의 영상을 볼 때는 템플릿 흑마법이 이해가 가긴 하는데, 이걸 스스로 짤 생각을 하니 도저히 엄두가 안나서 공부가 필요할 것 같아 이렇게 질문 글을 남깁니다.

  • 네트워크
  • MMORPG
  • windows-server
가랑눈 댓글 1 좋아요 1 조회수 607

url 관련

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 웹 브라우저 주소창에 url 을 입력하면 웹브라우저가 http get 메시지 를 만들어 준다는 건 알겠는데 form(get) 태그나 a 태그 같은 것들은 get 방식의 http 메시지를 만들때도 역시 url 을 만들고 메시지를 보내는 건가요? (같은 get 방식이니까 url 로 넘어가나 해서요....) 그러면 이때 태그 정보 중 리소스의 위치 말고 앞에 도메인 같은 것들은 url 만들어 질 때 자동으로 추가되는 건가요 ?

  • 네트워크
김서진 댓글 1 좋아요 0 조회수 541

인기 태그

인프런 TOP Writers

주간 인기글