강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

hsg0208님의 프로필 이미지
hsg0208

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

WAS 관련 질문 입니다!

작성

·

248

0

안녕하세요 강의 잘듣고 있습니다

다름이 아니라 강의를 통해서 간단한 프로젝트를 진행하던 과정중에 웹소켓을 사용 하게 되었는데 관련하여 질문드립니다 

( 추가적으로 http 관련 하여 질문 드립니다)

1. 저의 잘못된 지식일 수 도 있지만 서버에서 클라이언트와 연결을 할때 소켓을 통해서 연결을 하고 나서 통신이 이루어 지는 것으로 알고 있습니다. 서버의 각 소켓들은 해당 서버의 ip와 포트번호로 구분이 된다는 것으로 알고 있구요. 여기서 의문점이 나오게 되는데 http 또한 소켓통신으로 서버가 응답을 보내고 나서 ack 가 오면 해당 통신을 하던 소켓을 바로 닫는 것으로 알고 있습니다 그러면 톰캣에서 80번 포트를 연상황이라고 가정했을 때 80번으로는 request요청만 받고 톰켓 자체적으로 새로운 소캣(새로운 포트)를 열고 통신을 한다고 알고 있는데 제가 알고 있는 내용이 맞는지 궁금합니다.

 

2. 소켓의 구분자가 포트와 관련이 있다면 서버 컴퓨터에서 지원하는 tcp/ip 포트의 갯수를 넘는 요청이 들어오면 오류가 나나요?? 이것이 궁금합니다

 

3. 웹소켓을 사용하게 되었는데 spring boot 를 사용하던 와중에 일반적인 http 컨트롤러와 웹소켓 핸들러가 프로젝트에 같이 있게 되었습니다. 이런 식으로 진행하는 것이 맞는 지와 http 컨트롤러들은 서블릿 디스패처가 컨트롤러를 통해서 url 에 맞는 컨트롤러로 매핑을 시켜주는 것으로 알고 있는데 웹소켓은 매핑이 어떤식으로 되는것인지 궁금합니다(sockJS/ STOMP를 사용하지 않은 그냥 깡 웹소캣입니다) 여기서도 1번의 질문의 반복인데 새로운 웹소켓 세션이 생성될때 세션 하나마다 하나의 스레드 및 하나의 포트를 차지하나요?

 

감사합니다.

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. hsg0208님^^

1.2: 생각하신 내용이 맞습니다. 80은 연결만 제공하는 것이고, 연결되고 나면 새로운 포트를 통해서 통신이 일어납니다. 서버소켓으로 검색해보시면 도움이 되실거에요. 서버의 소켓 초과에 대해서는 어떤 오류가 발생하는지 저도 정확히는 모르겠습니다. 아시는 분 있으면 답변 남겨주세요.

3: 웹 소켓은 죄송하지만 질문 안내에 있는 것 처럼 학습에 관련된 질문을 올려주시길 부탁드립니다. 저도 마음으로는 도움을 드리고 싶지만, 하루에도 수 많은 분들이 질문을 올려주십니다. 그래서 학습과 관련된 질문에 초점을 맞추는 것이 맞다 생각합니다. 다시한번 이해를 부탁드립니다.

감사합니다.

hsg0208님의 프로필 이미지
hsg0208

작성한 질문수

질문하기