묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨비전공자의 전공자 따라잡기 - 네트워크, HTTP
안녕하세요. 궁금한게 있습니다.
안녕하세요. 궁금한게 있습니다.원 서버보다 리버스 프록시가 정적 파일 서빙해주는 역할이나 압축 같은 것을 더 잘한다 하셨는데 이때 각각 특화된 프록시를 사용하는 것인가요? 아니면 프록시에서 압축, 정적파일 서빙 등 모든 일을 다 하는데 원 서버보다 더 빠른것인지 궁금합니다.또한 API Gateway도 Proxy라 하셨는데 관련 내용을 못찾고 있어서요ㅠㅠ 혹시 어떻게 검색하면 관련 문서를 볼수 있을지도 궁금합니다.항상 감사합니다.
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
tcp 통신 관련하여 질문드립니다
안녕하세요 선생님~tcp 관련해서 질문을 드리고 싶습니다. ^^tcp 버퍼라는게 따로 존재하나요? 아니면 소켓 버퍼가 곧 tcp 버퍼인가요?segmentation된 데이터는 어디서 조립되나요? 만약 소켓 버퍼에서 조립된다면 recv했을 때 덜 조립된 데이터를 받거나 하진 않는지 궁금합니다.관련 책에서 본 내용인데요, 송신 버퍼에 1바이트의 여유만 있어도 tcp는 send가 가능하다는데 이러면 데이터가 다른 관련없는 데이터와 섞여서 송신되거나 하지는 않나요?다른건 안그러는데 이상하게 네트워크 쪽만 공부하면 자꾸 깊게 파고들려고 하네요. ;;호기심을 적당히 가져야 진도를 빠르게 뺄텐데... 그래도 좋게 생각해야겠죠? ㅎㅎ항상 좋은 강의 감사드립니다~^^
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
Wireshark을 어떻게 분석해야 하나요?
안녕하세요 선생님^^강의를 보면서 Wireshark 분석도 따라해보고 있는데요,제가 루프백 환경에서 진행을 하고 있어서 그런지 뭔가 뒤죽박죽 같더라구요특히 14번 패킷은 아무데서도 Ack=5가 안나왔는데 Seq=5를 보내니까저로서는 도저히 뭐가 뭔지 모르겠어서.. ㅠㅠ;;어디서부터 실마리를 잡아야 할까요..?분석 관련해서 조언을 얻고 싶습니다!!
-
해결됨비전공자의 전공자 따라잡기 - 네트워크, HTTP
내 라우터에서 IP 부분을 떼었다가 붙이는 이유
안녕하세요 제로초님.5분 32초에 내 라우터에서 IP부분을 떼었다가 다시 붙여준다는 말씀을 하셨는데, 이미 네이버 IP를 목적지 IP로 갖고 있는데도 떼는 이유가 무엇인지, 떼었다가 붙였다가 하는 것은 케이스 마다 다르게 행해지는 것인지 궁금합니다.그리고 떼었다가 붙인다면 어떤 정보가 붙는건지 알려주시면 감사하겠습니다😊계속 강의를 보다보니 질문이 늘어나네요..ㅎㅎ+ 내 라우터가 인터넷을 통해서 네이버 라우터IP 주소를 아는 방법은 라우팅 테이블이라는 방법으로 물어물어 IP주소를 알게된다고 하셨는데, 내 컴퓨터는 네이버 IP를 DNS를 통해서 이미 알고있다고 하셨는데 왜 물어물어 가는건지도 설명해주시면 감사하겠습니다!
-
해결됨비전공자의 전공자 따라잡기 - 네트워크, HTTP
내 라우터에서 naver 라우터까지 전송과정 질문
3분 35초쯤 보면 내 라우터가 naver 라우터의 MAC주소를 알기때문에 목적지MAC주소에 naver MAC주소가 담겨서 간다고 하셨습니다이전 강의까지 배우기로는 내 라우터 안에 있는 스위치와 각 기기들간에는 MAC주소로 전송을 하고 내 라우터와 다른 라우터들 사이에서는 ip주소를 통해서 전송을 한다고 들었는데 뭐가 맞는건지 헷갈립니다라우터끼리의 데이터 전송에서 MAC주소도 사용되고 IP주소도 사용되는건가요?내 라우터는 다른 라우터들의 MAC주소를 다 알고있나요?
-
해결됨비전공자의 전공자 따라잡기 - 네트워크, HTTP
강의명 데이터의 전체 흐름에서 라우터간 주소 획득 과정 질문드립니다.
제가 이해한 바가 맞는지 궁금해서 질문드립니다.내 라우터에서 네이버 라우터의 MAC주소를 알기 위해서 인터넷을 통해 옆 사람에게 묻는 방식으로 네이버 IP가 있는 곳까지 가서 MAC주소를 얻어온다.이렇게 이해하는 것이 맞을까요?6분 대에 설명하신 것에 라우팅 테이블이 네이버 라우터의 IP를 찾아온다고 하셨습니다. 그런데 네이버 IP는 맨 처음부터 알고 있으니까 MAC주소를 얻어오는 것이 맞는 것 같은데 어떻게 이해하면 좋을까요? 감사합니다.
-
해결됨비전공자의 전공자 따라잡기 - 네트워크, HTTP
네트워크계층 제가 이해한게 맞나요?
101동 아파트를 생각한다고 했을 때 각 세대마다 기기들(컴퓨터 등)의 MAC주소가 있는데 이런 MAC주소들이 스위치에 모이게되고 스위치도 MAC주소를 가지고 있다. 101동 아파트 전체의 스위치들이 하나의 라우터에 모이고 스위치들이 모인 라우터를 네트워크라고 부르며 IP주소를 가지고 있다. 여기까지 제가 이해한 내용이 맞나요? 그렇다면 101동 주민들의 네트워크 IP주소는 모두 똑같다는 말인가요?
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
Windows 프로젝트 만드는 방법
안녕하세요~ IOCP까지 강의를 들으면서 예제들을 다운로드 하면서 실행하고 이해하고 하였습니다. 예제들인, Windows 프로젝트를 다운로드해서 실행하는 방식 말고, 직접 손 코딩이 하고 싶어 만들려고 하니, 오류도 나고 뭐가 뭔지 잘 모르는 부분이 있어 남겨봅니다. 일단 저가 시도 한 부분 적어보고, 수정해야 할 부분 피드백 부탁드립니다.(아니면 그냥 순차적으로 전체적으로 하는 방법 설명해주셔도 됩니다.^^)첫번째로. Windows 데스크 톱 마법사에서 데스크톱 애플리케이션 미리 컴파일된 헤더만 클릭하였습니다.두번째로 미리 컴파일된 헤더 추가하는 방법 링크 https://hungrysoul9.github.io/2019/09/26/add-vs-pre-complied-header/ 처럼 stdafx.cpp 추가하고 stdafx.h 해서 뭘 어떻게 해야되는지 모르겠고,->여기서 조금 헤더파일 pch관련된 부분 수정하고 ctrl+f5 누르면(심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태오류 LNK2019 WinMain@16"int _cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 함수에서 참조되는 확인할 수 없는 외부 기호 IOCP_chat D:\C++\IOCP_chat\MSVCRTD.lib(exe_winmain.obj) 1오류 LNK1120 1개의 확인할 수 없는 외부 참조입니다. IOCP_chat D:\C++\IOCP_chat\Debug\IOCP_chat.exe 1)다음과 같은 오류가 뜹니다..따라서 ->https://pang2h.tistory.com/156링크를 참조해서 속성 링커에 시스템에 하위 시스템을 콘솔 또는 지우니까 해결이 되었는데,,,이렇게 만들어 지는 건가요?해결이 되었다면 되었는데,,C/C++과는 다르게 Windows 프로그래밍은 처음이라,, 어떻게 프로젝트를 만들어야 하는지 정리 한번 부탁드립니다. 또는 맞게 잘 하였다면,, 피드백 부탁드립니다. 감사합니다.(질문 등록하고 수정하고 한 글입니다...^^)
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
IpConfigSample 예제 NIC free 개선 필요합니다
IpConfigSample 마지막 부분에 free 개선이 필요합니다.pNicInfo가 NULL 이므로 free 는 do nothing 중입니다. while(pNicInfo != NULL){ /* Do somethings */ pNicInfo = pNicInfo->Next; } // while loop 벗어난 시점이므로 pNicInfo == NULL free(pNicInfo); // pointer 가 NULL 이므로 free 는 donothing
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
Ctrl-C 구현 내용 중 return True; 에 관하여
exit(0);다음에 return TRUE; 까지 도달하지 못 할텐데, 이건 업계의 코딩스타일 관행같은 건가요?아니면 제가 수업중에 졸은걸까요 ㅜㅜ
-
미해결Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
실습 템플릿 선택
실습 코드를 직접 작성해보면서 연습해보고 싶은데빈 프로젝트로 만들어보면 예제 코드랑 구성이 다른 것 같던데혹시 빈 프로젝트 말고 다른 템플릿을 사용해야 하는건가요? _tmain 이런것도 처음봐서 헷갈리네요..구글링 해 보니까 _tmain을 쓰려면 tchar.h헤더를 불러와야 한다는데 예제 코드에서는 그렇지도 않으니 검색한게 맞는건가 잘 모르겠네요 ㅠㅠ..그냥 main 써도 상관 없는걸까요?==========================내용 추가 =======================말로 설명을 어떻게 해야 할지 몰라서 그림으로 질문드리겠습니다 ㅠㅠ아래 그림 중 왼쪽은 제가 만든 프로젝트 파일에 들어간 모습이고,오른쪽은 선생님 예제 코드 파일 열었을 때 모습입니다. 저는 새 프로젝트 만들기 -> 빈 프로젝트로 시작하였는데, 이렇게 시작하면 안되는 건지에 대한 질문이었습니다.
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
IP주소 개수, Listen과 Accept 사이에서 연결 요청
TCP 에코 서버 제작 : 클라이언트 연결 받기 및 통신 수업에서포트 바인드 코드 설명에서 NIC이 여러개 있으면 IP주소도 여러개 있을 수 있다고 하셨는데, NIC의 개수와 비례해서 IP주소도 늘어나는 것인가요? 예를들어 NIC이 3개이면 IP주소도 항상 3개인 것인지. 아니면 그 이상 또는 이하로 IP주소를 가져도 상관 없는건지 궁금합니다.Listen 코드 설명에서 1번 클라이언트가 접속을 요청하고 Accept 처리까지 끝나서 ~~하는 과정에서 다른 클라이언트가 접속을 요청하면 요청 자체가 날아가서 접속이 안된다 라고 하셨는데, 이때 날아가는 요청은 1번 클라이언트의 요청인지 아니면 다른 클라이언트의 요청인지 궁금합니다.
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
동기/비동기
블록킹/논블록킹 IO동기/비동기 IO이 두가지가 다른 의미로 쓰이는거 같은데항상 어떤 차이가 있는지 잘 모르겠습니다.혹시 차이점 위주로 설명해주실수 있으실까요..
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
같은 공유기 내 서버 실습
같은 공유기 와이파이에서 무선으로 연결된 노트북 2대로 실습하려면따로 설정해줘야 되는것이 궁금합니다.
-
해결됨C# TCP/IP 소켓 프로그래밍
5:34 질문 있습니다.
안녕하세요 강의 복습중 궁금한점 생겨서 질문드립니다.21번줄에 client가 Accept한 이후 통신에 대한 함수(ReadAsync)를 ThreadPool에 추가하는 형태로 코딩을 하셨는데요ReadAsync함수에서는 while(true)내부에서 지속적으로 클라이언트와 통신을 해야하기 때문에 사실상 QueueUserWorkItem로인해 생성된 쓰레드풀의 쓰레드가 대기상태로 돌아가는 상황은 클라이언트가 연결을 종료했을 경우 말고는 없기 때문에쓰레드풀의 쓰레드1개 = 클라이언트1개로 이해했습니다.그렇다면 클라이언트가 connect요청을 하여 서버쪽에서accept를 할때마다 쓰레드풀의 쓰레드를 1개식 할당 하는 구조상클라이언트 100명만 접속하더라도 쓰레드풀의 쓰레드 100개를 사용하게 되는건데 성능상 문제가 생기진 않는걸까요? 아니면 비동기 방식이기 때문에 괜찮은건가요?혹은 쓰레드풀의 쓰레드1개 = 클라이언트1개 라는 조건이 틀린걸까요?제가 잘못 이해한 부분이 있는걸까요?
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
크로스케이블에 관해
두 개의 피시를 연결할 때 꼭 크로스케이블이 있어야 하는지 질문입니다. 그냥 랜 케이블을 꽂아도 랜카드에서 신호를 알아서 바꿔 인식할텐데, 크로스케이블로만 구현할 수 있는 장애 상황같은게 있는지 궁금하네요.
-
해결됨Windows 소켓 프로그래밍 입문에서 고성능 서버까지!
특정 이벤트 발생시 호출되는 함수 관련 질문이 있어요!!
강사님.Lookup table 구조로 가게되면 함수 포인터에예를 들어 함수 포인터 배열 이름이 func 일 때,특정 이벤트가 발생할 때, 핸들러 함수에서 내부 로직으로 func[0](); 이런식으로 호출하는 구조도 많이 사용되는 구조인지요 ? ... 그러니까 인덱스 값을 함수가 주입받는 구조가 아니라, 특정 이벤트에 실행될 핸들러 함수에인덱스를 하드코딩해 놓는 구조도 많이 사용되는 구조인지요 ? 예를들면 파일 전송 요청이오면 핸들러에 func[0](); 이런식으로요!!! 제가 프로그래밍 능력이 부족해서 설명이 부족해서 글이 길어졌네요 ...;;
-
미해결C# TCP/IP 소켓 프로그래밍
방만들기, 방 목록 새로고침 강의 중 크로스스레드 문제
좋은 강의 감사드립니다. 방만들기, 방 목록 새로고침 강의 중 크로스스레드 문제 관련 질문드립니다.강의 중 RoomList 폼의 비하인드 코드에서 CreateRoomResponsed 함수에서 크로스스레드 문제가 발생합니다.코드 흐름상 해당 함수는 Singleton클래스에서 Invoke 되어 호출되는 구조이고 위에 붉은색으로 표시한 코드가 UI에 직접 접근하여 크로스스레드가 발생한 것으로 보입니다.정황상 크로스스레드가 발생하는게 맞는 상황인데, 강사님의 강의에서는 크로스스레드가 발생하지 않는것으로 보입니다.혹시 제가 놓친 부분이 있을까요?
-
해결됨C# TCP/IP 소켓 프로그래밍
9:45 질문 있습니다.
안녕하세요 강의보던중 궁금한점 생겨서 질문드립니다. 9분 45초에서 Receive용으로 사용하는 SocketAsyncEventArgs의 버퍼를 설정해주는데요, 이때 이 버퍼가 [입출력버퍼, 슬라이딩 윈도우] 강의에서 설명해주셨던 입력버퍼가 되는걸까요? 아니면 입력버퍼에 들어온 데이터를 넘겨받는 버퍼로 사용되는걸까요?