2011-02-01 6 views
0

서버 소켓 응용 프로그램은 SocketException이 함께 폭포 - 연결이 최대 허용 또는 하나의 응용 프로그램 당 열린 소켓에 최대 오픈 소켓 연결

이 제한 존재가

를 거부?

+0

서버로 사용되는 Windows 버전은 무엇입니까? –

+0

서버에 이미 몇 개의 연결이 열려 있습니까? –

답변

3

당신은 실제로 우리에게 충분한 정보를 제공하지 않습니다.

단일 Windows 컴퓨터에서 동시에 열 수있는 소켓 수는 컴퓨터 전체의 리소스에 의해 제한됩니다. 적용 할 수있는 프로세스 비 페이징 풀 할당량을 제외하고는 열 수있는 소켓 수에 영향을주는 '프로세스 별'제한이 없습니다.

은 내 블로그에 여기에 당 시스템 한계에 대해 설명했습니다 http://www.serverframework.com/asynchronousevents/2010/12/one-million-tcp-connections.html 당신이 연결이 오류를 거부하고 우리에게 더 많은 정보를 제공 할 수 있다면 우리가 할 수 있습니다 얻을 수 있습니다 많은 이유가있다

문제의 원인을 좁혀 라. 서버에 대한 모든 연결이 실패 할 경우

  • 서버가 실행되지 않을 수 있습니다 .. 다음 "연결이 거부".
  • 올바른 포트에서 수신 대기하지 않을 수 있습니다. 한 번 연결을 관리하지만 다음 연결에 실패하면
  • 는 방화벽은

    • 에 대한 연결 승인 논리가 파손 될 수 ... 방법

    점점 될 수 있습니다.

하면, 일부 연결 작업이 일어나고 동시 연결 시도가 많이있을 때 "연결이 거부"얻는 경우에, 일부는

  • 가 백 로그가 너무 작은 수 있습니다 듣고 당신의 ... 다음, 실패
  • 새로운 연결을 처리하는 데 너무 오래 걸릴 수 있습니다.