묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[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
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
보편참조 관련 질문
강의 내용 22:00에 보편참조라고 설명해 주시면서Job 생성자를 만들어주셨습니다.하지만 Job생성자는 우측값 참조가 아니면 생성이 되지 않습니다.반면에 우측값 참조로 넣어주면 전부 에러 없이 생성되었습니다Job 생성자가 보편참조라면 좌측값인 player로도 생성이 되어야 하지 않나요? 만약 Job 생성자가 보편참조가 아니라면GRoom->PushJob(&Room::Enter, player) 부분에서보편참조가 아닌 함수에서 L-value를 std::forward를 사용하면 오른쪽 참조값으로 바뀌기 때문에 auto job = ObjectPool<Job>::MakeShared(owner, memFunc, std::forward<Args>(args)...);이함수는 결국 우측값 참조를 받는 Job생성자를 호출하게 되어 Job을 만들어 주었기 때문에 에러가 발생하지 않고 잘 실행 되었던거라고 이해하면 될까요? 만약 Job생성자가 보편참조가 아니라면 왜 보편참조가 될 수 없나요? 강의 핵심내용은 JobQueue에 관한 내용이지만보편참조가 너무 헷갈려서 질문하게 되었습니다..
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
고급1편 안 듣고 고급2편 들어도 되나요?
고급2편 내용 먼저 들으려는데 멀티스레드 동시성 이거 무조건 들어야 고급 2편 들을 수 잇을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
boost asio 강의
안녕하세요 루키스님혹시 작년에 진행했던 javawork 님의 boost asio 강의는인프런에 판매하실 생각은 없으신 건가요??
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
섹션 2-1 질문
섹션 2의 첫 번째 강의 11분 3초경에 전송계층에서 host to host라고 하셨는데네트워크 계층이 양단에 논리적 주소로 각 호스트를 연결해 주기에 host to host라고 설명하고전송계층에서는 포트 번호로 상위 계층의 서비스를 나누기 때문에 종단간 연결(end to end) 혹은 프로세스 간 연결(process to process)로 기억하고 있어 오타인지 제가 잘못 알고 있는지 질문드립니다.
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
섹션12의 HTTP 서버1 - 시작에서 27분에 질문있습니다.
다른 브라우저를 사용해야 테스트가 확실히 된다고 하셨는데같은 브라우저일 때는 왜 테스트에 어려움이 있는걸까요?어차피 쓰레드 하나로 순차 동기 실행 아닐까요?궁금합니다!
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
split 메서드에서 "|" 문자를 인식하지 못하는 문제
이유는 모르겠습니다만 제 컴퓨터에서는 DELIMITER 로 지정한 문자 "|" 가 split 메서드에서 작동하지 않더라구요. window를 사용하는데 그 때문인지는 모르겠습니다. 그래서 저는 DELIMITER = "\\|" 로 지정해 동작시켰습니다. 강사님과 split 메서드가 다르게 작동하는 이유는 뭘까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
OnDisconnected() 부근에서 _players.clear() 의문점이 있습니다.
06:05 부근 질문입니다.클라이언트가 캐릭터 선택과 동시에 연결이 종료될 때 서버가 혼잡하다면, Handle_C_ENTER_GAME()과 OnDisconnect()가 동시에 일어날 수 있다고 생각되는데요.. 그렇다면 멀티 스레드에서 _players에 동시 접근하는 일이 발생하지 않나요?그렇게 된다면, _players.clear() 이후 _players[index] 접근하는 문제로 서버가 튕길 거라고 생각했습니다.지금까지는 그러한 오류가 터진 적이 없었는데, 테스트가 부족했던 것인지 아니면 잘못 생각하고 있는 것인지 알고 싶습니다.
-
미해결자동차 SW - UDS 진단통신 정복하기
안녕하세용
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세욥, 강의 잘 듣고 있습니당!_! 제가 질문이 있는데욥, 동일한 dbc 를 vector 에디터로 열어서 본 (ex)SteeringAngle 의 startbit 는 12 bitnotepad 및 메모장에서 열었을 때 BO_ 부분의 SteeringAngle 의 startbit 는 13비트로 되어 있는데욥 Length 는 2 입니다.동일한 dbc 인데 tool 에 따라 startbit 가 다르게 보이는지2. Canoe tool 에서도 dbc 의 startbit 가 CAN IG 으로 tx 보내기 위해서 보면 12bit 로 구성되어 있으며, 12bit 로 보내면 실제 화면에서 동작하지 않는데, dbc 자체를 notepad 의 startbit 값이 13으로 수정하여 CAN IG 에서 보내면 홤면에서 잘 동작함업무중에 너무 의아해서 질문 드립니당 ㅜㅜ
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
안녕하세요. 수강 기간 연장 부탁드립니다.
안녕하세요. 수강 만료일 까지 다 못 들을 것 같아요.수강 기간 연장 부탁 드립니다.감사합니다.
-
미해결CloudNet@와 함께하는 Amazon EKS 기본 강의
VPC CNI 네트워크 환경 확인 문의
안녕하세요. 강사님 EKS 강의를 잘 듣고 있습니다! 감사합니다.강의 중간에 궁금한게 있어서 문의드립니다.기본 네트워크 환경 확인 > 워커 노드에 네트워크 정보 확인 과정에서 워커노드1의 vpc-cni 정보를 확인하고자 aws-routed-eni 디렉토리를 확인하고 로그를 보려 했는데요, 다음과 같이 plugin.log가 없습니다.(admin@myeks:default) [root@myeks-bastion-EC2 ~]# ssh ec2-user@$N1 tree /var/log/aws-routed-eni /var/log/aws-routed-eni ├── ebpf-sdk.log ├── ipamd.log └── network-policy-agent.log 0 directories, 3 files 일단 ipamd.log는 있길래 ip 할당 정보라도 보자는 마음에 확인을 해보았는데요. Permission denied 에러가 발생합니다. 직접 인스턴스에 접속해 확인하거나, chmod 명령어를 수행하려 해도 권한 에러가 발생하는데 어떻게 해결 할 수 있을까요? (admin@myeks:default) [root@myeks-bastion-EC2 ~]# ssh ec2-user@$N1 cat /var/log/aws-routed-eni/ipamd.log | jq cat: /var/log/aws-routed-eni/ipamd.log: Permission denied ssh ec2-user@$N1 Last login: Fri Nov 8 15:16:03 2024 from ip-192-168-1-100.ap-northeast-2.compute.internal , #_ ~\_ ####_ Amazon Linux 2 ~~ \_#####\ ~~ \###| AL2 End of Life is 2025-06-30. ~~ \#/ ___ ~~ V~' '-> ~~~ / A newer version of Amazon Linux is available! ~~._. _/ _/ _/ Amazon Linux 2023, GA and supported until 2028-03-15. _/m/' https://aws.amazon.com/linux/amazon-linux-2023/ [ec2-user@ip-192-168-1-188 ~]$ cd /var/log/aws-routed-eni [ec2-user@ip-192-168-1-188 aws-routed-eni]$ ls ebpf-sdk.log ipamd.log network-policy-agent.log [ec2-user@ip-192-168-1-188 aws-routed-eni]$ ls -al total 460 drwxr-xr-x 2 root root 75 Nov 8 14:58 . drwxr-xr-x 9 root root 4096 Nov 8 14:58 .. -rw------- 1 root root 420 Nov 8 14:58 ebpf-sdk.log -rw------- 1 root root 305442 Nov 8 15:52 ipamd.log -rw------- 1 root root 1679 Nov 8 14:58 network-policy-agent.log [ec2-user@ip-192-168-1-188 aws-routed-eni]$ cat ipamd.log cat: ipamd.log: Permission denied [ec2-user@ip-192-168-1-188 aws-routed-eni]$ chmod 644 ipamd.log chmod: changing permissions of ‘ipamd.log’: Operation not permitted감사합니다.
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
네트워크 공부 진행하는데 질문이 있습니다 !
주소창에 네이버를 쳤을때 생기는 과정, DNS까지 설명해주세요 부분에 질문이 있습니다!알려주신 과정을 요약하면리다이렉트 → 캐싱 → DNS → IP라우팅 → TCP (3-way handshake) → 컨텐츠 다운로드 → 렌더링으로 확인을 했는데 이전에 알려주셨던 TCP/IP 4계층은 위에서 아래로 통과한다고 보면된다고 알려주셨습니다.그런데 실제 연결과정과 계층을 통과하는 순서가 왜 다른거지?? 라는 의구심이 생겼습니다.챗 GPT를 통해 물어보니TCP 연결을 설정할 때는 IP 주소만 필요하고, IP 라우팅은 이미 TCP 연결이 설정된 후에 진행됩니다. 다시 말해, IP 라우팅은 데이터를 전송할 때 필요한 경로를 찾는 과정이지, TCP 연결을 설정하는 과정에서는 필요하지 않습니다.라고 합니다.리다이렉트 → 캐싱 → DNS → TCP (3-way handshake) → IP라우팅 → 컨텐츠 다운로드 → 렌더링그렇다면 이렇게가 순서가 맞는걸까요 ??
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
TCP 통신 데이터경계
안녕하세요.TCP 통신에서 전송 순서와 패킷 손실을 보장해준다고 할 때,보내는 데이터가 서버의 수신 버퍼 크기를 초과할 경우, 이전에 받은 데이터와 다음에 받는 데이터를 합쳐서 원하는 형태로 처리하게 되는 걸까요?예를 들어, 서버의 수신 버퍼가 5바이트일 때,1차 수신 데이터가 "L5AAA"이고2차 수신 데이터가 "AA"라면,"L5"는 데이터의 길이가 5라는 뜻이면, 이 경우 데이터가 부족하면 다음 수신 데이터를 기다려 "L5AAAAA" 형태로 합쳐 처리하는게 맞을까요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
섹션 16, 17 docker-compose up -d 명령 실행 시 다운로드 속도 느려짐
섹션 16, 17에서 docker-compose up -d 명령 실행 시 다운로드 속도가 너무 느려집니다...이 전까지는 속도가 적당한 빠르기였는데, 지금은 속도가 너무 느려져서, 검색 후 ec2 서버 정지했다가 재부팅도 해 보고 했는데, 여전히 느립니다.해결 방법이 있을까요?저는 윈도우즈 11 사용중입니다.
-
미해결OpenStack을 활용한 클라우드 환경 구축하기
오픈스택 인스턴스 로그인 불가 합니다. (6강 15분 41초)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. root kisec123 해도 자꾸 이럽니다. 더 이상 진행 자체가 안되고 있습니다.
-
미해결OpenStack을 활용한 클라우드 환경 구축하기
수업과 동일하게 진행되지 않습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5강에서 Floating IP > 프로젝트에 IP 할당 한 후 Ubuntu 인스턴스에 연결한 다음 IP Address로 ping을 날리면 유효하지 않다라고 나옵니다. local.conf는 기본적인 것만 넣은 상태입니다. ubuntu 인스턴스도 따로 계정을 생성한적이 없는데 root 계정으로 123 을 치면 incorrect 라고 나옵니다.자막을 키면 다이색 123 이라고 나오는데 다이색이 뭔가요? default로 생성되는 계정과 비밀 번호가 있는건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
.net core가 중단되었다고 하네요..
.net core가 중단되었다고 하네요..
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
강의에서 만드신 코드들에 대한 짧은 질문
안녕하세요.본인은 게임 클라이언트 개발자를 희망하지만,인디게임 수준의 서버는 직접 만들기 위해본 강의를 3회독 하는 중입니다. 강의해 주신 코드들은예를들면 Listener 클래스를 직접 만드셨는데,TcpListener이란 클래스가 있더라고요.대형 게임 회사는 자체적으로 서버를 구축하니까Listener클래스를 비롯한 모든 서버를 최대한 하드코딩 하는건가요?TcpListener같이 구현되어있는 것들을 사용하지 않는 이유가 있을까요?물론 Listener 클래스를 직접 만들면서 지식이 깊어지고 그런건 매우 좋습니다. 하지만 제가 배우고 작성하는 클래스들의 완성의 수준을 가늠잡을 수 없어 불안합니다. 그래서 일부 클래스들은 TcpListener 같이 이미 나와있는 클래스들을 섞어가며 사용해보고 싶은데 이런 부분에서 강사님 의견이 궁금합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
RDP 연결 질문
안녕하세요 RDP 연결에 질문있습니다보안그룹에 RDP 인바운드3389 0.0.0.0,내아이피 이 두개는 연결이 되지만보안 생각해서 보안그룹에 인바운드에 퍼블릭 아이피를 넣었을때는 접속이 안되는데왜 그러는 걸까요 ? 아웃바운드는 0.0.0.0입니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
환경설정 20:20초 빌드 시
빌드 시 링크 에러 2개가 나옵니다.강의 따라서 잘 타이핑 하고 따라왔는데..이 두개의 오류가 나오면서 빌드 실패를 합니다.왜 그런걸까요?