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

minjun님의 프로필 이미지
minjun

작성한 질문수

자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 2(마스터편)

socket 질문드립니다

해결된 질문

작성

·

183

0

socket질문2.png1. 그림에서 빨간색 부분은 무슨 기능을 하는 건가요? 출력에도 영향이 없는 거 같아서 질문드립니다

  1. 그림에서 파란색부분에서 클라이언트가 wirte 할 때까지 대기하고 있는 건가요?

  2. 클라이언트 역시 readline을 만나면 서버가 write할 때까지 대기하는 건가요?

 

답변 1

0

박은종님의 프로필 이미지
박은종
지식공유자

서버 소켓이 accept() 후에는 클라이언트가 연결될 때까지 기다립니다. 그리고 클라이언트가 연결되면 클라이언트와 1:1 통신할 내부 소켓이 반환 됩니다. 빨간 부분은 연결 되었을때 생성된 서버의 내부 소켓의 정보를 콘솔창에 로그로 나타내기 위해 적은 내용입니다. 클라이언트가 연결될 때마다 정보가 출력되는 것을 보실 수 있을 겁니다.

readLine은 한 줄을 읽는 것입니다. 소켓은 소켓 버퍼에서 내용을 읽는데.. 내용이 없으면 읽지 않습니다.

위 예제는 클라이언트가 서버와 연결하면서 송신한 내용이 있어서 바로 읽게 됩니다.

채팅과 같은 경우는 while() 문과 같은 반복문을 활용하여 소켓 버퍼에 내용이 들어오게 되는 경우 읽게 구현할 수 있습니다. 소켓의 읽고 쓰는 역할은 클라이언트 서버 모두 동일합니다.

minjun님의 프로필 이미지
minjun

작성한 질문수

질문하기