묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결외워서 끝내는 네트워크 핵심이론 - 기초
스트리밍 서비스를 구현한다고 하면 서버 구성에 대해서 질문이 있습니다.
만약 아프리카 같은 곳에서 로그인이나 이런 일반적인 로직 부분은 tcp로 처리하고, 스트리밍은 udp로 처리하는지 궁금합니다.그러면 서버를 스트리밍 서버(UDP), 일반 로직 서버(TCP) 이렇게 따로 운영하나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
PacketFormat 빌드 관련
PacketFormat.cs 파일을 빌드 하고 GenPacket.bat파일을 실행시키면 어떤때는 잘되고 어떤때는 안되네요 말씀하신대로 스크립트 내용 다 지우고 빌드해도 내용 안바뀐상태로 빌드됩니다.. 도대체 뭐가 문제일까요
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
수업 자료들 어디서 다운 받아요?
프로젝트 는 보이는데 수업때 쓰신 사진 자료들 모아놓은 곳은 따로 있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 강의 잘듣고있습니다~ [해결했습니다]
PacketSession OnRecv 마지막부분에buffer에서 패킷의 사이즈 만큼 자르고buffer의 사용하지 않은부분은 buffer에 다가 새로 만들어서 넣어주고 있는데요여기서 저걸 왜 다시 넣어야 하는지 이해가 안갑니다.왜냐하면 읽은 데이터량만큼 processLen을 증가시켰고processLen을 반환하면 read커서가 그만큼 증가하게 되고이부분에서 readPos증가한만큼 new로 새로 만들어서 가져오는데 말이죠.. 굳이 필요가 없을거 같은데 맞나요..?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP와 HTTP API의 차이점
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. HTTP와 HTTP API의 차이점을 잘 이해하지 못하고 있습니다 ..! HTTP는 클라이언트와 서버와 데이터를 주고 받기 위한 통신 규약이라고 이해하고 있고, HTTP API는 HTTP를 사용해서 클라이언트와 서버가 데이터를 주고 받기 위한 인터페이스로 알고 있습니다. 하지만 글로서는 이렇게 정의를 내렸는데 명확한 차이점을 잘 모르겠습니다. HTTP와 HTTP API 모두 HTTP 메서드를 사용할 수 있고,POST를 사용한다면 둘 다 메서드 바디에 데이터를 담아서 전달이 가능하고... 사용에는 차이점이 없는 것 같은데, 왜 구분을 짓는지 잘 모르겠습니다 ㅠㅠ 그리고 HTTP API에서 말하는 인터페이스란 무엇을 뜻할까요..? 자료를 더 찾아보면 HTTP는 정적 리소스를 요청하기 위함이고 HTTP API는 동적으로 데이터를 주고받기 위함이라고 합니다... HTTP, HTTP API 모두 정적, 동적 리소스를 주고 받을 수 있는게 아닌가요..?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 메시지 전송 시 계층별 역할
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]HTTP 메시지 전송 시 각 계층별 역할이 명확하게 이해가 되지 않아서 제가 이해한 대로 작성해보았습니다. 각 계층별로 정리를 잘한게 맞는지 한번만 확인 부탁드립니다 ! ㅠㅠ
-
미해결실습으로 배우는 핵심 네트워크 기술
gns3 자료
안녕하세요 gns 압축 파일 받으려하니 링크가 잘못됐다고 다운로드가 안됩니다. 확인 부탁드립니다.
-
해결됨이해하면 인생이 바뀌는 네트워크 프로그래밍
Windows 11 가상머신 다운로드 이슈 2
Windows 11 가상머신 다운로드가 안되는 부분에 대해서,커뮤니티에서 댓글 주신 부분 확인해보았으나, 항목이 삭제 또는 완료 되었다고 나옵니다..ㅠㅠhttps://www.inflearn.com/questions/1412974MS사 내부 문제라 제가 대응하는 것이 불가능합니다. 해서 이 강의를 촬영할 당시 사용했던 VM을 OneDrive에 올려두었습니다. 24년 4월 VM입니다. 따라서 이미 라이선스는 만료된 상황입니다. 하지만 일단 사용은 가능할 것입니다. 감사합니다. 😄 WinDev2404Eval.VMWare.zip
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
DB에서 플레이어 정보를 긁어오는 부분에 대한 질문입니다!
안녕하세요!16:02에서 플레이? 플레이어 정보를 DB에서 긁어온다고 하셨는데요. DB에서 특정 유저의 정보를 가져오려면 unique id, id+password 조합이든, 식별 값이 필요할 거라 생각합니다. 이는 DummyClient OnConnected()에서 C_LOGIN 패킷을 만들 때 함께 보내줘도 될까요? 만약 그렇다면,로그인은 웹 등의 게임 외부 환경에서 먼저 진행될텐데, 웹 등의 외부 환경에서 로그인 성공 이후 게임 파일을 실행할 때 id, password(해싱된 값)를 같이 넘겨주고 그 정보로 Handle_C_LOGIN에서 해당 유저의 정보를 가져오면 되는 걸까요?제가 C# 강의 해당 강의까지는 들을 여력이 안 돼서, 여쭙습니다. C# 클라 <-> C++ 서버 헤딩할 때 적지 않은 시간이 쓰일 거 같아, 구현하지 않는 부분에 대해서는 흐름이라도 명확하게 가져가려고 합니다.
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
저는 왜 EOFException이 아니라 SocketException이 발생할까요 ?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.강의를 쭉 들으면서 ServerV3, V4를 키고 ClientV3,4 를 강제 종료시키면 영한님은 EOF 오류가 뜨는데 저는 Socket 오류가 발생합니다. 제가 잘못한건지 아니면 상황에 따라 다른건지 궁금합니다.
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
MSS와 MTU 계산 관련 질문드립니다!
선생님, 안녕하세요, 강의를 들으면서 들어만 본 개념을 정확하게 알아가고 모르는 개념에 대해서 새로 알아가고 있습니다. 감사합니다 😊MSS = 1460 byte, MTU = 1500 byte라는 결과를 잘 외우기 위해서 TCP/IP 프로토콜의 헤더 크기를 사용해서 외워보려고 자료를 찾아보았는데요,https://www.cloudflare.com/ko-kr/learning/network-layer/what-is-mss/IP 레이어의 MTU를 잴 때는 헤더 크기를 포함시키는데, TCP 레이어의 MSS를 잴 때는 헤더 크기를 제외시키는 것을 발견하였습니다!왜 한쪽에서는 포함하고 한쪽에서는 제외하는지가 궁금했습니다! 일단 외우기 위해서 'TCP와 IP가 같이 엮이다 보니 두 헤더 모두 포함한 MTU와 두 헤더 모두 제외한 MSS가 중요한가보다'고 외우려고 하는데, 혹시 이렇게 이해하면 틀린 부분이 있을까 걱정되어 질문드립니다.감사합니다! 😃
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강연장 부탁드립니다.
수강 연장 처리 부탁드리겠습니다.재시험 봐야할 것 같습니다.ㅎ...
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
[수업 질문] [SpinLock]
class SpinLock { volatile int _locked = 0; private readonly object _lock = new object(); public void Acquire() { while (true) { //int original = Interlocked.Exchange(ref _locked, 1); //if (original == 0) // break; // CAS : Compare-And-Swap //int original = Interlocked.CompareExchange(ref _locked, 1, 0); //if (original == 0) // break; //int expected = 0; //int desired = 1; //if (Interlocked.CompareExchange(ref _locked, desired, expected) == expected) // break; lock (_lock) { if (_locked == 0) { _locked = 1; break; } } } }DeadLock 시간에 배웠던 lock 방식을 이용해서 작성해봤는데 출력 값은 0이 잘 나옵니다. Q. SpinLock 구현할 때 InterLock 계열의 메서드를 사용해 구현한 것과 lock을 이용해 구현한 것은 어떤 차이가 있는지 궁금합니다.강사님께서는 InterLock 을 통해 구현하셨는데 그 이유는 간단하게 사용할 수 있기 때문인가요??SpinLock / BackOff Lock / Assisted Lock 이런 것을 구현할 때 위와 같이 lock 을 써서 구현하는 것은 구조적으로 잘못된 것인가요?? 제가 이해한 것은 Lock 방식과 InterLock 방식은 하드웨어의 Instruction을 원자적으로 처리하기 위해 프로그래머가 C++/C# 같은 언어로 시키기 위한 방법인 것 같은데 이해를 똑바로 한 것인지 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
특성이 중복되었다고 나옵니다
안녕하세요, 선생님프로젝트 속성 변경후 PacketGenerator 빌드를 눌러야 하는데 모르고 디벙깅 후 시작을 눌러버려서 그런지 모르겠지만AssemblyInfo.cs 파일에서 특성이 중복되었다고 나옵니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Protobuf Packet 클라이언트 - 서버 설계
서버에서 Protobuf를 사용하고클라이언트에서 예기치 못한 이유로 사용하지 못했을 때주고 받는 Packet.id그리고 그 id에 해당하는 정보(구조체)가 같다면상관 없을 까요?ex)서버 -> S_CHAT : string msg; 구글 프로토버프로 만듬클라이언트 -> S_CHAT : string msg: 일반 구조체로 만듬
-
해결됨외워서 끝내는 네트워크 핵심이론 - 응용
연결 유지 상태에서의 이중화 노드 무중단 재기동 방법
안녕하세요.대외 통신 연계 업무를 맡고 있는 주니어입니다.네트워크 지식에 부족함을 느껴 강의를 수강하게 되었습니다.어렴풋이만 알고 있는 지식에 대해 살을 붙임에 있어 많은 도움이 되고 있습니다. 요즘은 거래량이 많이 급증함에 따라 연결 유지 세션(전용 망)으로 많은 대외 기관들과 연결되어 있습니다.노드는 이중화가 되어있으나, 연결 유지 세션에 대해서는 액티브-스탠바이로만 운영중입니다. 때문에 배포 등으로 재기동 시 순단이 발생하고 있어 이를 없애는게 주요 과업 중 하나입니다.대외기관 - L4 사이에는 연결유지 세션으로 유지한 상태로 무중단 재기동을 할 방법이 있을까요?
-
미해결인프라공방 - 그럴듯한 서비스 만들기
지하철 노선도 미션 VPC IP 대역 질문
지하철 노선도 미션의 망 구성하기에서 처음 VPC를 생성할 때, 할당하는 CIDR 블록도 결국은 프라이빗 IP 주소라고 이해하는게 맞는건가요? 제가 이해한 내용은 다음과 같습니다.VPC에 할당된 CIDR 블록 (192.168.0.0/24) 및 내부에 속한 4개의 서브넷 IP 대역은 모두 VPC 내에서만 사용되는 프라이빗 IP 주소다.퍼블릭 서브넷 자체는 프라이빗 IP 주소로 할당되어 있지만, 퍼블릭 서브넷인 이유는 IGW와 연결되어 인터넷 접속이 가능하기 때문이다. (인터넷 통신을 할 때, NAT를 통해 프라이빗 IP 주소가 IGW의 퍼블릭 IP 주소로 변환된다)제가 이해한 내용이 맞는지 혹시 이 중에서 틀린 내용이 있는지 알고 싶습니다!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
iocp 내부 동작 관련 질문
Windows IOCP(I/O Completion Port) 모델을 사용하여 서버를 개발하고 있으며, WSASend 호출의 처리 순서에 대해 명확히 알고 싶습니다.1. WSASend 호출 순서 보장 - 서버에서 연속적으로 WSASend를 3번 호출할 경우, Windows 내부에서 정확히 호출된 순서대로 처리되는지? - TCP의 순서 보장과는 별개로, IOCP 모델 자체의 내부 처리 순서는 어떻게 되는지?2. 클라이언트 측 완료 통지 순서 - 서버에서 WSASend를 3번 호출했을 때, 클라이언트가 GetQueuedCompletionStatus(GQCS) 함수를 호출하면 서버의 호출 순서와 동일한 순서로 완료 통지가 수신되는지?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
채팅실습 과정에서 Protocol.pb.h error
채팅실습을 시작해서 BufferData 구조체를 삭제하고빌드를 하게 되면 파일은 복사가 되어서 다른 패킷아이디들이 생성되는데지웠던 BufferData가 계속해서 BufferData가 없다는 에러가 발생하고실제로 Protocol.pb.h에 남아있는 현상이 발견됩니다..이런 증상 겪으신분 있으실까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
동기방식과 비동기 방식 비교
루키스님 안녕하세요?소켓 함수쪽에서 동기방식과 비동기방식의 장단점을 고찰하고 있습니다. 이번 강의에서 Listen쪽을 동기 -> 비동기로 전환하면서 논블로킹 성질로 인해 어느 누군가의 입장 지연 등을 기다려도 않아도 되므로 그런 부분에서 이점이 있다.이렇게 이해를 하였는데요, 입장자 별로 스레드를 부여하여 동기적으로 입장시킴. 단, 너무 지연이 되면 해당 스레드는 종료 등으로 처리.이런 식으로 동기적 방법을 고수하면 콜백 함수 없어도 되니까 코드 복잡도도 줄고 컨텍스트 스위칭도 덜 일어나지 않을까? 라는 생각을 하게 되었습니다. 그러므로 동기적으로 소켓 함수를 계속 사용하는 것은 잘못된 생각인지, 아니면 비동기 동기가 각각 장단점이 있는 방식인지 루키스님 조언 얻으려고 질문 드립니다. 답변 미리 감사합니다. +수정 이 내용과 같은 맥락일까요?그렇다면 Listen과 Accept는 동기, Send와 Receive는 비동기로 처리 이런 방식은 어떤지 고민도 되고 하네요https://www.inflearn.com/community/questions/140160/%EA%B5%B3%EC%9D%B4-%EB%B9%84%EB%8F%99%EA%B8%B0-%EB%B0%A9%EC%8B%9D%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0