달력

82019  이전 다음

  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

AcceptEx를 이용하여 미리 최대 클라이언트 접속 가능 소켓을 생성하여 둔 경우, 

100개의 소켓를 AccepEx 해 두었다면 100개 까지 client 가 연결된 후 이후 연결은 리슨 소켓을 Listen 시 인자로준 backlog 수 만큼 대기연결 될 수 있게 된다. 


즉!! 100개 연결이후에 연결을 시도한 client 의 connect 시 에러가 가지 않고 성공이 떨어진다. 

성공이 떨어지는데 아무런 동작도 하지 않아 확인하여 보니,


 연결이 꽉찬이후 backlog 수 만큼 대기중인 client 들은, 연결중이던 소켓이 close 되면 연결이 된다. 

IOCP 를 사용하면 이전 소켓이 close 될때, 리슨 소켓과 연결해둔 IOCP의 GQCS 에서 새로 클라이언트가 연결되었다고 알려준다. 


  연결도 꽉차고 backlog 수도 초과한후 연결을 시도한 client 들은 connect 시 10061 error 가 리턴된다. 


 Socket error 10061


ConnectionRefused - 타켓 컴터에서 실제로 연결을 거절했기 때문에 연결을 만들 수 없다. 

주로 foreign host 상의 서버 apllication 이 수행중이지 않은, inactive인 이 서버에 연결을 시도시 결과로 온다. 


Listen 의 backlog 파라미터에 대한 설명


보류 중인 연결큐의 최대 길이입니다. 


'TCP 소켓 서버' 카테고리의 다른 글

AcceptEx 와 Listen backlog  (0) 2014.08.14
AcceptEx  (0) 2014.08.14
서버 보안  (0) 2014.07.15
Posted by besma