안녕하세요 아래 그림은 강의 내용 따라하면서 수행한 내용입니다. R0, R1, R2 에 RIP v2 적용 후 R0 에서는 static으로 설정 했습니다. pc0에서 tracert 수행시 콘솔과 같은 결과가 나옵니다. 강의에서 보여주신것과 동일 합니다. 질문: pc0 -> server에서 보시는 바와 같이 router0->router1->router2->sever로 가는 것은 확인 했는데 왜 3번 보면 205.205.205.1 이 찍히나요? 여기는 205.205.205.0 네트워크니까 데이터 흐름과는 상관 없는 영역아닌지요? 원래 저의 예상은 3번 부분에 204.204.204.2 가 찍혀야 하지 않나 하고 생각하고 있었습니다. 강의 잘 보고 있습니다. 감사합니다!
안녕하세요. 3번 선지 D 해설에서 "ALB는 하나의 서버에만 요청을 보낸다"고 설명되어 있는데, 제가 이해하기로는 ALB (Application Load Balancer) 는 여러 서버에 요청을 분산하는 AWS 서비스로 알고 있습니다.. 혹시 제가 이해한 내용이 맞는지 확인해 주실 수 있을까요? 이해가 잘 가지 않아 질문드립니다! 😊
안녕하세요 EKS 강의를 완강한 후 궁금한 점이 있어 댓글을 남깁니다! Karpenter 설정 시 사용하신 YAML 파일을 보니, 지금까지 원클릭에서 사용했던 addons 및 IAM 설정 등이 빠져 있는 부분이 있는 것 같습니다. 이전 방식과 동일하게 Karpenter YAML에도 addons 및 IAM을 추가한 전체 파일을 볼 수 있을까요? 공부한 내용을 참고하여 하나씩 다시 추가해볼 수는 있지만, 정확하게 설정한 것인지 확인할 수 있는 문서가 없어 이렇게 댓글을 남기게 되었습니다.
풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
탄력적 IP 설정 이후, 리눅스용 도커 설치 영상에 따라 우분투 서버에 docker를 설치했습니다. 그런데 과금이 되었더군요. 프리티어라 과금이 안될줄 알았는데, 정책이 바뀌어 탄력적 IP 설정에 비용이 청구됩니다. https://dev.classmethod.jp/articles/rate-policy-for-aws-public-ipv4-addresses-will-change-kr/ 탄력적 IP 사용을 안하면 과금이 된다는 말씀도 하셨던거 같은데 그냥 탄력적 IP를 해제하면 될까요? 서버 사용은 동적으로 바뀌는 IP로 접속하면 되는건지...
안녕하세요 선생님. 이전 강의인 Event와 비교했을 때 헷갈리는 부분이 있어서 질문 드립니다. Event Event를 사용하면 Lock코드와 묶여있지 않기 때문에 Producer 쓰레드가 연달아 Lock을 가져가게 될 경우에 q의 값이 누적되어 값이 틀어질 수 있다고 하셨던 것으로 이해했습니다. 아래는 Event 강의의 코드인데요, Consumer 함수에서 if(!q.empty())를 while(!q.empty())로 변경했을 때 q의 크기가 4자릿수로 넘어가는 경우는 발생하지 않는 반면에, 조건변수를 사용하면 q의 크기가 4자릿수가 넘어갈 때가 심심찮게 발생합니다. CPU사용량은 거의 비슷합니다. 강의 설명에서는 Kernel Object와 User-Level Object의 차이때문에 Event보다 조건변수를 사용하는 것이 효율적이라는 뉘앙스로 느껴집니다. 물론, 이전 가르침을 통해서 상황에 따라 효율적인 방식은 전부 다르겠지만, 이번의 경우는 예외처럼 느껴져서 질문드립니다. 조건변수가 더 효율적인 방식인가요? #include "pch.h" #include <iostream> #include "CorePch.h" #include <thread> #include <atomic> #include <mutex> #include <windows.h> mutex m; queue<int32> q; HANDLE handle; void Producer() { while (true) { { unique_lock<mutex> lock(m); q.push(100); } ::SetEvent(handle); this_thread::sleep_for(100ms); } } void Consumer() { // 데이터를 꺼내 쓰고 있음 while (true) { ::WaitForSingleObject(handle, INFINITE); // 현재 상태가 ManualReset이면 수동으로 Non-Signal로 바꿔줘야 함. //::ResetEvent(handle); unique_lock<mutex> lock(m); if (!q.empty()) { int32 data = q.front(); q.pop(); cout << data << '\n'; } } } int main() { handle = ::CreateEvent(NULL/*보안속성*/, FALSE/*bManualReset*/, FALSE/*bInitialState*/, NULL); thread t1(Producer); thread t2(Consumer); t1.join(); t2.join(); ::CloseHandle(handle); }
안녕하세요 선생님 🙂 선생님 강의 덕분에 서버에 입문을 수월하게 한 것 같습니다. 감사합니다 ^^ 다름이 아니라, 이벤트를 쓰면 WaitForSingleObject 함수로 인해서 계속해서 대기가 되는 상태일텐데 CPU 점유율이 쓸데없이 무한루프를 도는 것보다 많이 먹습니다. 무엇이 문제인지 잘 모르겠습니다 ㅠㅠ 확인해주시면 감사하겠습니다!! <이벤트 사용X> <이벤트 사용O>
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
본 강의에서는 제가 못찾고 있는지는 모르겠지만 멀티 게임 구현시 타일맵을 이용한 충돌 구현만 있는 것 같습니다. (혹시 만약 있다면 어디에서 언급되는지 모르겠네요..) 얼핏 기억하기로는 충돌 처리는 서버에서 해야 한다고 했던 기억이 있습니다. 그러면 클라이언트에 있는 CollisionManager, Collison클래스와 같이 충돌과 관련된 클래스를 서버 쪽에도 복붙하여 충돌 처리를 하는 방향이 맞을까요? 만약 그렇다면 현재까지는 클라이언트에서 Collision 범위를 네모 박스와 같은 형태로 그려서 눈으로 직관적으로 확인 가능하니까 쉽게 디버깅할 수 있었는데, 서버에서 충돌을 구현하면 눈에 보이지 않는거 아닌가요? (그렇다면 디버깅이 굉장히 어렵겠네요...) 서버에서 충돌을 구현하면 클라이언트에서는 충돌 처리를 안하니까 클라이언트의 Bullet과 벽은 Collision은 제거하면 될까요? 멀티 게임에서 충돌을 어떻게 처리해야 할지 방향을 잘 모르겠습니다. 그리고 강의 너무 잘 보고 있습니다!
안녕하세요 강의를 보고 배운 서버와 dx11로 3d게임을 만들어 보고있습니다. 이동동기화 등은 잘 됬고 몬스터를 만들었는데 접속한 클라에서 모두 동일하게 로직이 돌아가야하니 몬스터의 로직은 서버에서 돌아가게 만들었습니다. 그런데 플레이어가 몬스터를 타격하면 타격한 플레이어가 타격했다는 패킷을 보내고 플레이어가 플레이어를 타격하면 피격당한 플레이어가 패킷을 보내는 식으로 했는데 투사체 같은경우 몬스터가 투사체를 맞았다 라는건 서버에서도 충돌체를 두고 몬스터가 검증을 해야할까요? 클라에서 판단하더라도 그러면 여러 클라가 있을경우 여러 클라가 다 맞았다는 패킷을 보낼것 같아 뇌가 꼬입니다... 물론 방법이야 많겠지만 이부분 구현에 있어 감이 안잡혀 질문드립니다 ㅠㅠ
Full Cone NAT를 이용한 경우 홀펀칭을 이용해서 P2P 통신이 가능해지는데 TCP Protocol로 해서 해당 NAT 테이블에 등록이 되어 있어서 지속적으로 P2P 통신이 가능합니다. 그렇다면 P2P 통신을 하러 들어온 다른 클라이언트 쪽에서 TCP FIN을 보내서 4-way handshake를 하게 되면 해당 호스트 역할을 맡은 클라이언트의 공유기의 NAT table에서 제거되어 P2P연결이 모두 종료되는 건가요? 게임으로 따지면 누군가 해당 IP와 Port를 확인하는 것 만으로 방을 폭파 시킬 수 있는 건가요? 이상입니다. 오늘도 좋은 하루 되십시오. 감사합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 수강기간이 얼마남지 않았는데 완강하지 못하여 수강연장 문의드립니다. 감사합니다.
Out of Path 장치로 유해 사이트로 바로 응답하는 경우에도 실제 해당 사이트에서는 응답을 보내주는데 ISP단에서 해당 응답은 차단 안하는건가요? 그러면 실제로 브라우저에 뜨지는 않지만 클라이언트에서는 해당 응답을 받긴 하는건가요? 더 자세히 보자면 TCP 3-way handshake단계가 먼저 들어갈 것 같은데, 이 3-way handshake의 응답을 ISP단의 Out of Path 장치가 먼저 수행해서 실제 서버와 3-way handshake를 못하게 막는건가요? 만약 응답을 차단하지 않는다면, 여러 응답들을 모두 볼 수 있는 프로그램을 만들어내면 실제 서버의 응답 역시 볼 수 있는지 궁금합니다. (아마 ISP에서 해당 서버의 ISP로의 Inbound를 막아서 못들어올 것 같기도 합니다. 잘 모르겠습니다.) 이상입니다. 오늘도 좋은 하루 되십시오. 감사합니다.