강사님. 안녕하세요. 강의 잘 보고 있습니다. 궁금한게 있어서 질문 드립니다. 연결 종료 과정에서 그림을 보면 FIN+ACK을 같이 보내고 있는데 그 이유가 무엇인가요? Client ------FIN+ACK?-------> Server Client <--------ACK----------- Server Client <-----FIN+ACK?-------- Server Client ---------ACK----------> Server ACK은 전에 보냈던 데이터를 잘 수신했다는 의미로 보내는 것이라 이해를 했는데, FIN을 처음 보낼 때 같이 ACK도 보내는 이유가 궁금합니다.
public void Connect(IPEndPoint endPoint, Session session) // 사용하는 부분 //connector.Connect(serverEndPoint, () => { return new GameSession(); }); GameSession gameSession = new GameSession(); connector.Connect(serverEndPoint, gameSession); Func 형 말고 그냥 Session을 참조로 받아서 하면 안되나요? 코드가 돌긴 하던데..
로컬 pc에서 인터넷과 통신하기 위한 게이트웨이의 mac 주소를 알기 위해서 ARP Request를 Broatcast 보내고 ARP Reply 응답을 통해 해당 게이트웨이의 mac 주소를 전달받는다고 설명해주셨습니다. 그렇다면 ARP Request가 전달되는 범위는 request가 uplink 하면서 처음 만난 gateway 까지가 되고 그 이상으로 broatcast를 보내지 않고 drop 하게 되는 건가요?
선생님 안녕하세요! 수업 잘 듣고 있습니다. 'PN과VPN' 강의를 듣고 VPN에 관해 질문드릴게 있어요. 질문1 : '서울 본사'의 LAN이 있고 '부산 지사'도 하나의 LAN이 있는데 이를 Private Network로 묶는다는게 LAN과 LAN을 포함하는 새로운 LAN을 만든다고 보면될까요? 질문2 : 'KT 망을 일부 잘라서 Private Network를 만들면 네트워크 속도가 느리다'고 하셨습니다. 질문2-A. 우선 'KT망'이란 표현에 대해 궁금한 점이 KT는 ISP로 인터넷 서비스를 제공해 주는 회사이고 우리에게 Public 공간인 Internet으로 접속할 수 있게끔 Public IP를 할당해주는 회사로 알고 있습니다. 그래서 Public IP만 할당해 주는 걸로 만 알고 있었는데 'KT망'이라는 표현을 사용한 걸로 보면 Internet 환경에서 KT만 쓸 수 있는 특정 Network 영역이 있는 걸까요? 질문2-B. 그리고 KT 망으로 Private Network를 만든다면 네트워크 속도는 왜 느려지는 건가요? 어차피 Internet 환경에서 특정 부분을 좀 잘라서 할당 해주는 건데 속도의 영향은 왜 받는 건가요?
처음 로그인을 할 때 서버측에서 세션 id를 클라이언트에게 넘겨주면 세션 id를 통해서 페이지를 이동할 때마다 로그인 상태를 유지시켜주는 것으로 알고 있습니다. 그렇다면 세션 id는 새롭게 로그인 할때마다 랜덤한 새로운 세션 id를 부여해주는 건가요? 그리고 만약에 로그인된 컴퓨터의 세션id를 보고 다른 컴퓨터에서 그 세션 id를 그대로 입력하면 그 아이디로 로그인이 될까요? 로그 아웃을 하게 되면 서버에서 세션 id를 삭제하나요? 사용하지 않는 세션 id를 가지고 있다면 서버에 과부하가 올 수도 있을 것 같아요
가끔 결과가 위처럼 나오는데 이 문제는 서버단에서 RegisterRecv를 해주는 도중에 클라에서 send를 다해주고 Disconnect 해버려서 발생하는 문제인가요?? 위에 Seesion.cs : lin116은 OnRecvCompleted함수에서 OnRecv를 해주고 다시 RegisterRecv()<< 이 함수를 호출하는 줄입니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 합본 강의교재 PDF 263 페이지 분할 강의교재 7.http-header1 34페이지 User-Agent 유저 에이전트 애플리케이션 정보 두번째 글머리표에 "클리이언트"라고 표기되어 있어 제보드립니다. 사소한 오타긴 하지만.. 눈에 띄어서요 ㅎㅎ
안녕하세요! 수업 너무 유익하게 잘 들었습니다. 강사님이 말씀하신 게임 예시외에 UDP가 사용되는 대표적인 예시로 "실시간 스트리밍"을 제공하는 경우가 자주 언급되는 것을 봤습니다. 하지만 만약 네이버에서 제공하는 실시간 스트리밍 비디오라면, 네이버는 HTTP/HTTPS 으로 통신이 되니 TCP 프로토콜을 사용한다는 뜻인데 그러면 위 같은 서비스를 제공하는데 UDP를 사용하지 않는 걸까요? 즉 어떤 웹사이트에서 제공하는 실시간 스트리밍 비디오라면, UDP를 사용해서 통신하는지 TCP를 사용해서 통신하는지 궁금합니다. 아니면 웹사이트를 로딩할 때는 TCP를 통해서 통신하고, 해당 비디오를 실시간으로 보여줄 때는 UDP를 쓰는 방식일까요?
PROTOBUF_NAMESPACE_OPEN 인식이 안되고 다른 에러들도 있는데 원인이 뭔지 몰라서 어떻게 해결해야 할 지 잘 모르겠습니다. 빌드는 잘 되는데 .proto에 정의한 message 객체를 생성하고 값을 set 하려고 하는데 자꾸 에러가 생깁니다. syntax = "proto3"; package example; message Person { string name = 1; int32 age = 2; repeated string hobbies = 3; } example::Person person; //사용자로부터 문자열을 입력 받는다. std::string name, hobby1, hobby2; std::cout << "이름: "; getline(std::cin, name); name.erase(name.find_last_not_of("\r\n") + 1); std::cout << "취미1: "; getline(std::cin, hobby1); hobby1.erase(hobby1.find_last_not_of("\r\n") + 1); std::cout << "취미2: "; getline(std::cin, hobby2); hobby2.erase(hobby2.find_last_not_of("\r\n") + 1); std::cout << "나이: "; int age; std::cin >> age; std::cin.ignore(); // 입력 버퍼 비우기 person.set_name(name); // 여기서 에러 person.set_age(age); person.add_hobbies(hobby1); person.add_hobbies(hobby2);