클라이언트가 초당 100회 정도의 소켓 오픈을 요청하는 경우 (순간 적으로 너무 많은 소켓 오픈요청) 어떻게 처리 해야 할까요?
가끔 클라이언트가 비 정상적으로 소켓 오픈을 너무 많이 요청해서 서버에서 더이상 소켓을 생성 할 수 없게 되어 클라이언트의 서비스 요청에 응답을 못해 주게 되었습니다.
클라이언트 코드는 손봐줄 수 없고 서버에서 처리를 해줘야 하는데 일반적으로 어떤 방법으로 대처를 하는지요?
전 ip로 체크를 합니다.. :wink:
접속한 클라이언트의 ip와 시간을 테이블 형태로 두고 클라이언트의 마지막 접속 시간이 정해진 시간보다 짧을 경우 블라킹을 시키는 방법으로 해결 되는거 같습니다.
지금은 다른거 테스트 중이라 실험해 보진 못했지만 잘 될거 같습니다.
답변 고맙습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
전 ip로 체크를 합니다.. :wink:
전 ip로 체크를 합니다.. :wink:
훌륭한 해결법인거 같습니다.
접속한 클라이언트의 ip와 시간을 테이블 형태로 두고
클라이언트의 마지막 접속 시간이 정해진 시간보다
짧을 경우 블라킹을 시키는 방법으로 해결 되는거 같습니다.
지금은 다른거 테스트 중이라 실험해 보진 못했지만
잘 될거 같습니다.
답변 고맙습니다.
댓글 달기