-
카테고리
-
세부 분야
시스템
-
해결 여부
해결됨
소켓에 대한 질문드립니다.
23.08.18 08:10 작성 조회수 250
0
강사님. 항상 강의 잘 보고 있습니다.
궁금한게 있어서 질문 드립니다.
제가 이해하기론 클라이언트가 하나 연결될 때마다 서버는 새로운 소켓을 만들고 거기에 클라이언트를 연결한다?로 이해하고 있는데요.
만약 제가 이해한 것이 맞다면 새로 만들어진 소켓에 새 포트번호가 매핑되서 클라이언트랑 통신을 해야할 것 같은데 wireshark로 확인해보면 25000로 클라이언트와 통신을 하고 있어서요.
제가 놓친 것이 무엇인가요?
답변을 작성해보세요.
0
널널한 개발자
지식공유자2023.08.18
accept() 함수가 반환한 새 소켓에 바인드 되는 포트 정보는 리슨에 부여한 번호와 같습니다. 즉, 서버 입장에서는 TCP 25000을 사용하는 소켓이 연결된 클라이언트 개수 만큼 존재합니다. 그럼에도 문제가 발생하지 않는 이유는 소켓을 식별할 때 원격지 IP + 포트 + 로컬 IP + 포트로 식별하기 때문입니다.
그리고 Wireshark으로 직접 확인하는 것은 매우 좋은 습관이며 바람직한 방법이라 하겠습니다. 지금과 같은 방법으로 늘 검증하는 자세가 서버 개발자에게는 꼭 필요합니다. :)
답변 1