묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
웹 브라우저 요청 흐름 질문
안녕하세요!강의 잘 듣고 있습니다!! 웹브라우저에 www.google.com을 검색하면 http메세지가 포함된 패킷이 전달되기 전에, 연결을 위한 패킷이 먼저 왔다갔다 하고, 연결이 확립되면 요청 패킷을 전달한다고 이해 했습니다. 그러면 메세지를 요청패킷을 전달하기 전에 서버와 연결하는 것은 무조건 TCP프로토콜을 사용하는 것 인가요??아니면 메세지를 요청패킷을 전달하기 전에 서버와 연결할 때도 http프로토콜을 사용해도 되는 것인가요?? 구글링을 해도 명확한 내용을 알기 어려워 질문드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
LNK2019와 LNK2001 에러
LNK2001과 LNK2019가 대량 발생합니다. 프로토 버퍼 라이브러리 문제인가 싶어서 다른 강의에 있는 라이브러리를 옮겨 보고, 프로토 버퍼 솔루션열어서 라이브러리를 다시 빌드해서 교체도 해보았으나 마찬가지입니다.
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
TCP 3way handshake에 대해서
안녕하세요. 강의를 듣다가 의문점이 생겨서 질문드립니다. TCP 3way handshake가 물리적이 아니라 논리적으로 연결된다고 하셨는데요. 여기서 논리적 연결이 어떻게 가능한지 궁금합니다. TCP 3way handshake 과정에서 클라이언트와 서버가 SYN과 ACK를 주고 받으면, 그게 곧 노드를 통해서 물리적으로 데이터를 주고받아 통신이 이루어진게 아닌건가요? 가상연결이라고 적어져있는데, 어떤 원리로 3way handshake가 이루어지는지 잘이해가되질 않습니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
coreMacro.h 에 define xalloc을 할 경우
CoreMacro.h 에서 xalloc을 define해줄 때 std::ios_base에서 xalloc이라는 이름의 함수가 있어서 오류가 나는 것 같습니다. 올려주신 코드를 내려받아서 빌드해봐도 같은 오류가 생기던데 뭔가 다른 문제가 있어서 오류가 계속 생기는 것일까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
3WayHandshake에 대하여 질문 드립니다
tcp/ip 설명하실 떄 3wayHandshake는 개념적으로만 연결됬다고 얘기하는거지 실제로는 다르다고 말씀하셨는데요. 그 이유가 거쳐가는 노드들은 클라이언트와 서버가 handshake를 하는지 모르기 때문이라고 하셧는데 이게 무슨 영향을 끼치는지 궁금하며 이 문제를 해결하기 위해 어떤 것들이 있을까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
RegisterAccept() 질문
우선 먼저 사과드립니다... 비슷한 질문이 많은데 그 글들을 봐도 이해에 대해 확신이 서지 않아 같은 질문을 또 드리는것 같네요. 의문이 있는 부분은 SocketAsyncEvnetArgs 부분 입니다. 1. RegisterAccept 에서 AcceptAsync로 args를 처리. 2. args안에 EventHandler<T> Completed; 존재 3. args안에 OnCompleted가 존재하고, Accepted되면 OnCompleted가 실행되면서 Completed.Invoke로 OnAcceptCompleted 동작. 비동기로 accept를 처리하고, accept가 완료되면 callback을 통해서 OnAcceptCompleted 함수가 수행된다는 개념은 이해했지만 동작 메커니즘이 정확하게 이해되지 않아 질문드립니다. 아래 사이트를 참고하였을때, OnCompleted에 뭔가 정의가 있어야 함수가 실행이 될텐데요, event - C# 참조 | Microsoft Docs EventHandler<TEventArgs> 대리자 (System) | Microsoft Docs VS2019에서 정의를 타고 올라갔으나....주석 뿐인 정의만 있었습니다. Socket까지도 정의를 타고 올라갔는데 마찬가지로 프로퍼티+주석만 잔뜩있었습니다 ㅠㅠ.... 제가 옳게 이해한 것이 맞을까요?
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
동영상 광고 캐시에 관해서 궁금합니다.
안녕하세요 영한 선생님 강의 너무나 잘 듣고 있습니다. 점점 지식이 느는 기분이 들어 매우 만족합니다. 감사합니다 ㅎㅎㅎ 위 강의에 대해 두 가지 질문이 있습니다. 1. 예를 들어, 유튜브에서 동영상을 틀면 랜덤으로 다른 광고들이 나옵니다. 그럼 이 서로 다른 광고들도 다른 캐시들로 저장이 되는 것인가요 ? 2. 만일 다른 캐시들로 저장이 안된다면 동영상만 따로 캐시에 저장되어 조건부 비교 후, 변경 사항이 없다면 캐시 저장소에서 웹 브라우저로 렌더링 되는 것인가요 ?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
빌드 에러
프로젝트 다운받아서 실행시키면 위와 같은 에러가 발생합니다. pre-build event 때문에 발생한 에러인가 싶어서 pre-build event를 없애면 아래와 같은 에러가 발생합니다. 서버 코어 라이브러리는 정상적으로 빌드 되는것을 확인했습니다.
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
OSI 7계층 관련하여 질문 드립니다!
강의를 듣다가 중간에 살짝 이해가 안가는 부분이 있어서요! 1) 1계층은 bit, 2계층의 데이터 단위를 frame이라고 설명해 주셨는데 각 데이터 단위로의 가공과 그것의 해석(?)은 각 계층에서만 가능한 것인가요? (ex. bit 단위 데이터는 무조건 1계층에서 해석이 가능하고 frame단위 데이터는 무조건 2계층에서 해석이 가능함 ) 2) 강의의 마지막 시각 자료에서 스위치를 이용해 두 장치의 데이터가 왔다 갔다 하는 흐름을 알려주셨는데, 사실 컴퓨터에는 라우터나 스위치가 내부에 존재하지는 안잖아요. 만약 1계층을 랜카드가 담당한다고 하면 bit 형태의 데이터를 그 다음 단계에서 처리할 수 있도록 하는 스위치나 라우터를 대신하는 장치가 컴퓨터 내부에 존재하는 것일까요??아니면 컴퓨터에서 처리할 때는 2,3계층을 건너뛰고 1계층에서 bit만 받아서 4계층 부터 처리하는 것일까요?? 3) 그리고 라우터를 사용하면 3계층까지 또 거쳐서 데이터를 보내야 하는데 스위치가 아닌 라우터를 굳이 쓰는 이유가 뭘까요? 더 멀리 전달 할 수 있어서 그런건가요?? 질문을 조금 어렵게 적었는데 답변 부탁드립니다! 강의 정말 잘 듣고 있습니다 ㅎㅎ 감사합니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
가시성이라는게
가시성이라는게 사람?코드?의 가시성이 아니라 메모리간의 가시성이라고 이해하는게 맞나요? 그 직원(메모리)들이 잘 볼수있도록 전광판을 업데이트 하는 메모리들간의 가시성?이 맞나요? 어렵네용ㅎㅎ
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
클라이언트쪽 포트번호는 어떻게 할당 되나요?
안녕하세요? 서버쪽 포트 번호는 개발자가 포트포워딩을 통해 몇 번 포트를 열어둘 지 결정합니다. 서버는 80번, 클라이언트는 10010번 포트를 사용한다고 하면, 클라이언트의 포트 번호는 어떻게 결정되는지 궁금합니다. 혹시 참고할 만한 글이 있을까요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
3 hand shake 관련 질문입니다
클라이언트가 서버에 요청을 보내기 위해서 APP계층에서 메세지를 작성 후 소켓라이브러리를 이용해서 3hand shake로 가상연결 후, tcp/ip계층에서 패킷을 생성해서 요청을 전송하는 것으로 이해했습니다. 궁금한 점은 1. 서버에서 요청을 받았을 때도 마찬가지로 클라이언트와 3 hand shake 를 하고 응답을 보내나요? 2. 서버에서는 3 hand shake를 하지 않는다면 어떻게 가상연결 상태인 것을 알 수 있나요? 3. 서버에서 가상연결 상태인 것을 알고있다면, http는 비연결성이 아닌 건가요? 감사합니다.
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
유선 및 무선 통합네트워크 설계/구현/검증 static 설정
안녕하세요 static 설정 후 패킷 경로와 관련해서 문의드립니다. 강의에서 router0 -> router1로 static설정 이후 202.202.202.2로 가는 패킷의 경로를 보는 부분에 있어 질문이 있습니다. 저는 203.203.203.2에서 204.204.204.2로 가는 것이 맞다고 생각했는데 205.205.205.1을 왜 거치게 되는지 잘 이해가 안갑니다. 추가적인 설명을 해주실 수 있으실까요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
이건 컴퓨터 성능 때문일까요?
안녕하세요, 선생님 c# 게임 서버 강의를 수강하다가 선생님과 다르게 작동하는 부분이 있어서 질문드립니다 6번째 강의인 컴파일러 최적화 강의에서 코드를 실행하면 4:25초경에 쓰레드 시작! 쓰레드 종료! Stop 호출 종료 대기중 종료 성공 이 순서대로 선생님은 실행이 되는데요, 저는 쓰레드 시작! Stop 호출 종료 대기중 쓰레드 종료! 종료 성공 순서로 쓰레드 종료!가 더 늦게 뜨네요 강의에서처럼 _stop에 volatile을 붙이면 선생님이랑 같은 값이 나오긴 하는데 컴퓨터 성능 차이 때문일 수 있나요? 코드가 다른 부분은 없습니다. 몇 번이고 확인했어요 감사합니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
Stateless 이해
안녕하세요 항상 강의 잘 듣고 있습니다! HTTP가 무상태 특성을 갖는 이유가 HTTP의 구조인 클라이언트 서버 구조가 하나의 요청과 응답안에서만 데이터를 유지하는 Request, Response 구조이기 때문인가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
HTTP 응답 메시지
안녕하세요. 강의 잘 듣고 있습니다. 응답메시지를 보면 content-type과 데이터를 보낸다고 하는데 이게 쫌 헷갈려서요. 개발자도구에서 네트워크 탭을 보면 확인 가능한 많은 파일들 때문에저는 response시에 content-type과 html 파일, js 파일등등을 보낼줄 알았는데 데이터라고 하셔서 저 파일등은 그럼 어떻게 나타내지는건지 궁금합니다. 아니면 제가 생각하고 있는 데이터와 강사님이 말씀하신 데이터의 정의가 다른건가 싶기도 하구요. 감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Lock을 거는 것과 await 키워드를 사용하는 것는 어떤 차이가 있을까요?
제목 그대로 lock과 await의 차이가 궁금합니다. C#에서 제공하는 await 키워드 또한 lock과 비슷한 느낌적인 느낌인데 혹시 차이가 있을까요? lock은 임계구역을 생성해서 보호막을 만드는 느낌이라면 await은 task가 끝날 때까지 잠시 대기 해주는 역할을 하는 것 같은데 먼가 둘의 차이가 정확하게 와닿지가 않아서요! 좀 더 정확하게 잘 이해가 안되는 부분은 "동시 다발적으로 await이 걸려있는 task를 처리한다고 했을 때 어떤 식으로 동작을 할까?"인 것 같아요.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
같은 네트워크에 묶인다는건 물리적으로 같은 Host PC 에 컨테이너가 추가된다는 건가요?
docker network create 명령을 통해 만든 ecommerce-network 상에 컨테이너를 추가하기 위해서는 물리적으로 같은 Host PC에 컨테이너가 존재해야 하나요? 아니면 원격에 물리적으로 다른 위치의 컨테이너도 ip를 추가하여 같은 네트워크로 묶을수도 있는건가요? 강의 마지막 15:17쯤에서 나오는 강의 화면을 보면서 이런 의문이 들었습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
인코딩 관련해서 질문있습니다.
밑의 이미지에서 데이터가 UTF-8로 인코딩 후 gzip으로 인코딩 되는 총 2번의 인코딩 과정을 거치는 것ㅇ; 맞나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
mutex 라이브러리는 busy waiting이 기본인가요?
제목과 같습니다. mutex 라이브러리를 이용한 강의 내용의 mutex m은 기본적으로 busy waiting이라고 말할 수 있나요? 뒷 강의 내용에서 나오는 mutex 변수를 Spinlock 구조로 되어있다고 이해해도 문제가 없는걸까요? (강의내용 11분 50초경) 이번 강의에서 t1과 t2가 Push를 하게 될때, 만약 t1이 lock을 붙잡고 있으면, t2는 Context Switching 이라거나 Event 방식으로 기다리지 않고 Busy waiting 하는것인지 궁금해서 문의 남깁니다. 제가 구글링을 통해 찾아본 해외 자료 느낌에서는 윈도우 환경과 VS에서 코딩하는 경우 Busy waiting을 하지 않는것처럼 나오는데, 만약 그렇다면 이것이 뒷 강의에서 설명하는 Lock 구현 방식중 2번의 Context Switching인건지 3번의 Event 방식인지도 궁금합니다.