묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
클라이언트간 p2p 통신으로 싱크?를 맞추는걸 공부해보고 싶습니다
안녕하세요 루키스님서버<-> 클라이언트 통신이 아닌, 클라이언트간 p2p 통신으로 싱크?를 맞추는걸 공부해보고 싶습니다.혹시 이런 내용의 강의를 준비중이시거나 추천해주실만한 책이 있을까요?
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
개념과 구현의 관점에서 계층별 데이터 단위와 크기.
안녕하세요 강의 잘 듣고 있습니다.계층별 데이터 단위와 최대 크기에 대해서질문이 있어서 글 남깁니다!Frame, Packet, Segment는 개념과 구현관점에서 개념으로 이해하면 되나요??강의 설명에서 계층별 데이터 단위가L1~L2 -> FrameIP -> PacketTCP -> Segment 라고 설명해주셨는데 L2는 개념이고 IP와 TCP는 구현에 해당되는 부분이잖아요그래서 개념적으로 바꾸서 이해하면 L1~L2 -> Frame L3 -> Packet L4 -> Segment라고 이해하는게 맞을까요??데이터 최대 크기(MTU, MSS)는 개념이 아니라 구현부분인가요??이후 강의에서(IP 헤더 형식) 단편화 내용에서 네트워크간 패킷 mtu가 달라지는 경우 쪼개야되는 상황이 있다라고 하셔서 그런데 데이터 최대 크기는 계층별로가 아닌 실체마다 다르게 정해지는걸까요??
-
미해결실습으로 배우는 핵심 네트워크 기술
Network 분리하는 기준?
안녕하세요,차량용 E/E 아키텍쳐에 관심 있는 수강생입니다.차량용 아키텍쳐가 Etherent 기반의 영역 아키텍쳐로 변화함으로써 각 영역별 네트웍 영역을 분리하게 될지 궁금한데요.일반적으로 라우터 장비를 구성할 때 어떤 기준으로 네트웍을 구분하고자 하는지 궁금합니다.예를 들어) Cloud 통신 - GW - 차량 내 구분이 된다면 L3 SW 기능은 GW에만 필요할 것으로 생각되는데, 만약 차량 내 시스템에서 네트웍 영역을 분리해야 하는 경우가 있을까?라는 생각을 갖게 되었습니다. 차량 내에는 총 3~4개의 스위칭 기능을 갖는 도메인이 있을 것으로 생각하고 있었습니다.
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
write(int b) 인 이유는 무엇일까요?
3장의 초반 내용중에 read() 의 반환값이 byte가 아닌 int 인 이유를 설명해주셨는데요. (EOF 을 알기위해서...) 그렇다면 write(byte b) 가 아니라 write(int b) 인 이유는 뭘까요? 어차피 4byte 중에 하위 1byte만 write될 건데 write(int b) 로 한 이유가 궁금하네요. write(-1) 이렇게 한다고 해서 read()에서 -1로 읽혀서 EOF 라고 판단되지도 않을거 같아요.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 연장 부탁드립니다.
11월에 만료가 되는데 아직 강의를 다 듣지못하여서 연장 요청드립니다. 감사합니다.
-
미해결CloudNet@ - AWS 네트워킹 입문
강의 수강기간 연장에 대하여
안녕하세요 강의 구매한지는 꽤 되었는데 업무가 바쁘다 보니 아직까지 완강을 못했습니다..연말까지 수강기간 연장을 부탁드려도 될까요?
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
문제해결 1번 문제
packet tracer ver 8.2.2.0400 사용 중입니다.문제해결 1번, Router 에서 license 설치가 안되고 telephony-service 명령어도 안보여서혹시 version 이슈일 지 아니면 제가 놓친 게 있을 지 궁금하네요
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
강의 소개에 나오는 강의자료? 들은 어떻게 받을수 있나요?
안녕하세요.강의 결제는 했는데요. 강의 영상 말고 소개에 나오는 강의 자료? pdf나 웹링크? 같은것은 어디에 안내되어있나요? 따로 요청을 해야 하나요?강의 영상이랑 같이 제공해주시는 자료가 있다면 미리 다 받고 한번에 빠르게 학습하려고 합니다. (현업개발자라 알고 있는 내용은 스킵하면서 빠르게 봐야 합니다.)메일 주소를 알려 드려야 하나요? 아니면 어디로 요청 메일을 보내야 하나요?
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
ClientV6 코드를 조금 변경해보았는데,,, 질문드립니다.
안녕하세요, 영한님뒤에 있을 채팅 프로그램을 직접 만들어보려다가 난관에 봉착해 질문드립니다.ClientV6 코드 내의 while문을 Thread에 넣는 작업을 진행하였습니다.아직 클라이언트에서 입력 값을 넣기 전임에도 불구하고 서버에서 EOFException이 나는데 그 이유를 모르겠습니다. 혹시 제가 코드를 잘못 짠 것인지아님 놓치는 부분이 있는 것인지 한 번 봐주실 수 있나요?public class ClientV6_1 { private static final int PORT = 12345; public static void main(String[] args) throws IOException { log("클라이언트 시작"); try ( Socket socket = new Socket("localhost", PORT); DataInputStream input = new DataInputStream(socket.getInputStream()); DataOutputStream output = new DataOutputStream(socket.getOutputStream()); ) { log("소켓 연결: " + socket); new Thread(new ClientHandler(socket), "ClientHandler").start(); } catch (IOException e) { log(e); } } }public class ClientHandler implements Runnable { private final Socket socket; private final DataInputStream input; private final DataOutputStream output; public ClientHandler(Socket socket) throws IOException { this.socket = socket; this.input = new DataInputStream(socket.getInputStream()); this.output = new DataOutputStream(socket.getOutputStream()); } @Override public void run() { Scanner scanner = new Scanner(System.in); try { while (true) { System.out.print("전송문자: "); String toSend = scanner.nextLine(); // send output.writeUTF(toSend); log("client -> server: " + toSend); if (toSend.equals("exit")) break; // receive String received = input.readUTF(); log("client <- server: " + received); } } catch (IOException e) { e.printStackTrace(); } finally { close(socket); } } }
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
_wfopen_s(&file, path.c_str(), L"wb"); 실패하는 경우
void Tilemap::SaveFile(const wstring& path){ { FILE* file = nullptr; ::_wfopen_s(&file, path.c_str(), L"wb");//writebinary ::fwrite(&_mapSize.x, sizeof(_mapSize.x), 1, file); <- 여기에서 크러쉬 나면서 뻗어버립니다.} 이럴 경우 관리자 권한 문제일까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
대용량 트래픽이 어려운 이유가 무엇인가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]치킨 이벤트나 콘서트 티켓팅 등 같은 시간에 딱 맞추어 발생하는 대용량 트래픽은 최대한 Stateless 하게 개발하는 것이 중요하다고 하셨는데, 어떤 도메인에서는 아예 로그인도 풀려버리고 홈페이지 접속조차 안되는 상황이 발생하는 반면 콘서트 티켓팅이나 수강신청의 경우 대기번호(queue?)를 주어 로그인이 풀리거나 사이트에 접속이 안되는 경우가 없도록 하는 경우가 있습니다. 전자와 후자의 경우에서 "상태"의 차이, 서버 증설 규모의 차이, 대기큐 유무 중 어떤 것이 제일 대규모 트래픽을 감당하는데에 중요하다고 생각하시나요? 이외에도 대규모 트래픽을 수용하는 것에 있어서 중요한 요소가 있다면 알고 싶습니다. 페이지 앞단에 정적인 페이지를 두어 클라이언트의 시선을 분산시키는 것 등의 방법 말고 기술적인 측면에서만요.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
TypeCast에서 다루는 템플릿 흑마법 정말 잘 들었습니다!
안녕하세요!빨간책(moden C++ design)이 온라인에 검색해보니까 해외 직구로 살 수 있긴 하더라고요.지금 이직 준비 단계에선는 보기 어려울 거 같아 일을 시작하면 읽고 싶단 생각이 듭니다.괜찮을까요?
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
액터 생성/삭제와같은 중요한 행위에 대한 복제와 연관성
서버에서 어떤 AI 캐릭터 액터를 Spawn Actor 하거나생성된 이 AI 캐릭터가 스스로 Destroy하여 삭제되는 행위가 서버에서 발생했을때 이러한 것들은 무조건 연관성 상관없이 복제되서 위치상 매우 멀리 떨어져있는 클라이언트에서도 같은 캐릭터 액터가 생성되고 삭제 되는 건가요?
-
미해결그림으로 쉽게 배우는 네트워크
질문이있습니다!
vpn 부분을 듣던 중 궁금한 점이 생겼습니다. 인도를 거대한 인트라넷이라고 생각하였을때 이 인도 인트라넷으로 접근 가능하게 해주는게 vpn이 맞는걸까요? vpn을 쓰면 (인도로 설정하면) 해당 장비의 ip가 인도아이피라 인도로 유튜브나 스팀이 인식했떤건가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
세션 레퍼런스 카운트 관련 질문입니다.
void Session::ProcessConnect() { _connectEvent.owner = nullptr; // (1) _connected.store(true); // (2) // 세션 등록 GetService()->AddSession(GetSessionRef()); // 컨텐츠 코드에서 재정의 OnConnected(); // 수신 등록 RegisterRecv(); }5장 Session#3 강의를 듣고 따라해보다가 클라이언트 프로그램이 위 함수를 실행하다가 터지는 문제가 발생했습니다. 디버깅을 해보니(1)에서 _connectEvent.owner의 strong ref가 1에서 0으로 줄어들면서 세션(this)이 삭제되고(2)에서 this를 참조하면서 문제가 생긴 것이었습니다. bool IocpCore::Dispatch(uint32 timeoutMs) { DWORD numOfBytes = 0; ULONG_PTR key = 0; IocpEvent* iocpEvent = nullptr; if (::GetQueuedCompletionStatus(_iocpHandle, OUT &numOfBytes, OUT &key, OUT reinterpret_cast<LPOVERLAPPED*>(&iocpEvent), timeoutMs)) { // (A): 강사님 코드 // strong ref: 1 IocpObjectRef iocpObject = iocpEvent->owner; // strong ref: 2 iocpObject->Dispatch(iocpEvent, numOfBytes); // (B): 제 코드 // strong ref: 1 //iocpEvent->owner->Dispatch(iocpEvent, numOfBytes); } else { int32 errCode = ::WSAGetLastError(); switch (errCode) { case WAIT_TIMEOUT: return false; default: // TODO : 로그 찍기 IocpObjectRef iocpObject = iocpEvent->owner; iocpObject->Dispatch(iocpEvent, numOfBytes); break; } } return true; }강사님 코드와 제 코드에서 어떤 부분이 다른지 확인해 본 결과 위와 같은 차이가 있었습니다. 강사님은 지역 변수로 스마트 포인터를 하나 만들어서 레퍼런스 카운트가 2인 상태로 세션->Dispatch 함수를 호출하는 반면, 저는 레퍼런스 카운트가 1인 상태로 세션->Dispatch 함수를 호출하는 차이가 있었습니다. [질문 1] 혹시 강사님은 코드를 짜실 때 (B)와 같이 코드를 짜면 문제가 생긴다는 걸 인지하고 (A)와 같이 짜신 걸까요? 레퍼런스 카운트를 어느 정도까지 고려하면서 프로그래밍을 하는 것이 좋은지 궁금합니다. [질문 2] 아래와 같이 코드를 수정해서 문제를 해결해도 별 문제가 없을까요?// 원본 코드 void Session::ProcessConnect() { // RELEASE_REF _connectEvent.owner = nullptr; _connected.store(true); // 세션 등록 GetService()->AddSession(GetSessionRef()); // 컨텐츠 코드에서 재정의 OnConnected(); // 수신 등록 RegisterRecv(); }// 수정된 코드 void Session::ProcessConnect() { _connected.store(true); // 세션 등록 GetService()->AddSession(GetSessionRef()); // RELEASE_REF _connectEvent.owner = nullptr; // 컨텐츠 코드에서 재정의 OnConnected(); // 수신 등록 RegisterRecv(); }
-
미해결그림으로 쉽게 배우는 네트워크
질문이있습니다.
루프백주소는 네트워크를 타지 않고 다시 자신에게 돌아오는데 이게 어느 계층에서 이렇게 돌아오는걸까요? 패킷까지는 생성되고 트랜스포트 계층까지는 가지 않은 상태로OS 자체에서 라우팅 테이블을 확인하여 다시 자신에게 전달하는건가요?-?
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
클라이언트 새로 생성시 크래쉬 나는 문제..
안녕하세요. 영상을 보면서 언리얼을 배우고있는 학생입니다.선생님께서 알려주신대로 제가 따로 만든 프로젝트에 점목을 시키고있는데 클라이언트 추가 생성시 GameMode를 상속받은 클래스에서 Login()함수에 NewPlayer의 플레이어 컨트롤러가 NULL로 들어와 크래쉬가 나 에디터가 꺼지는 현상이 일어 나고있습니다.. 어떻게 해결이 가능할까요???
-
미해결그림으로 쉽게 배우는 네트워크
질문이있습니다.
라우팅 테이블은 캐싱되는거라고 생각하면되나요? 아니면 별도의 하드에 직접 저장되는건가요? 라우팅 테이블에 저장된 정보도 lru알고리즘 같은걸로 삭제가 되고 새로운게 입력되고 이런 방식으로 돌아가는건가요?
-
미해결실습으로 배우는 핵심 네트워크 기술
ap란?
access switch에 대해서 배웠는데 예전에 access pointap에 대해서도 들은 적이 있습니다. 둘이 다른 개념인가요?
-
미해결실습으로 배우는 핵심 네트워크 기술
스위치 초기화
스위치 초기화 명령어로 erase startup을 알려주셨는데이렇게 rommon에서 지우는 것과 어떤 차이가 있을까요?