2017-05-17 5 views
0

이것은 단순한 상태 비 저장 서버라고 가정합니다.TCP는 서버가 먼저 클라이언트 연결을 닫을 때 연결을 닫습니다.

  1. 서버 밀접한 관계가 요청을 처리하고 응답을 다시 작성 후, CLOSE_WAIT 상태에서 너무 많은 연결이 있어야합니다.

  2. 클라이언트가 먼저 연결을 닫게하면 클라이언트가 연결을 닫지 않으면 서버 쪽에서 너무 많은 활성 연결이있을 수 있습니다.

그런 상황을 어떻게 처리합니까? 1 또는 2 또는 기타를 사용해야합니까?

답변

0

요청을 처리하고 응답을 쓰는 후 서버가 연결을 닫으면 CLOSE_WAIT 상태로 연결이 너무 많아야합니다.

아니요, 그렇지만 많은 TIME_WAIT 상태가 있습니다.

클라이언트가 먼저 연결을 닫게하면 클라이언트가 연결을 닫지 않으면 서버 쪽에서 너무 많은 활성 연결이있을 수 있습니다.

따라서 서버는 읽기 제한 시간을 사용해야합니다.

일반적으로 서버가 첫 번째 닫기를 수신하는 것이 가장 좋습니다. 그런 식으로 TIME_WAIT 상태는 서버가 아닌 클라이언트에서 쌓이고 클라이언트는 많은 연결을 가지지 않으므로 아무런 문제가되지 않습니다.

관련 문제