Skip to content
2009.11.21 10:30

다른 블로그님의 자료에서 퍼온 자료입니다.

 

기존엔 발생하지 않았던 win2000 서버의 문제가 발견되었다.

IIS 로 80만 LISTEN 시킨 방화벽 속에서 서비스를 진행중인 서버인데

서버의 라인을 바꾸면서 부터 문제가 생겼다.

우선 설치 이전부터 인터넷라인의 싱크가 죽었다 살았다 하는 문제가 발생했었던 일을 상기해봐야 하는 글을 보게되었다.

 

윈속 10055 에러 발생에 대한 case

 

보통 인터넷 연결이 24시간 되어있다고는 볼 수 없습니다.
아마도 ISP 업체의 문제로 인해서...중간 중간 끊기는 경우가 발생합니다.

이럴때 어플에서 다시 재접속을 하고..또 끊기고..
이러다 보면....어플의 포함된 시스템의 소켓 리소스가 모자라게 됩니다.
소켓을 사용하고 반환을 하지 않았기 때문이죠.

 

ISP에서 제대로 된 신호를 주지 않거나 장비의 문제로 ADSL 모뎀에 문제가 있을 경우에는 신호가 자꾸 끊어지는 현상이 발생했다. 그로 인해 아답터를 교환하는 일이 있었지만 전원 공급이 원활하지 않다는 설을 들은적이 있다.

 

1차적으로 소켓에러의 발생을 물리적인 일로 규정짓는다면 위 사항을 꼭 점검해보자

 

분명 OS상에 소프트 웨어적으로 해결방안을 제시할 수 있을거라 보고 나름데로 찾아봤다.

진단해보고 생각보다 불필요한 소켓이 이 많이 열려 있다면 막아주도록 하자

물론 아래 제시된 해결책은 소켓의 수를 늘려주는거겠지만 10055 에러자체는 메모리 에러다보니 특정 메모리를 넘어서게 되는 소켓의 요청은 아무리 수를 늘려준다 한들 같은 에러가 발생할 듯 싶다.

 

적용해보고 모니터링 해봐야 할 듯 싶다. 잘 되는지 안되는지 말이다.

 

[펌글 출처]

http://www.delmadang.com/cwb-bin/CrazyWWWBoard.exe?db=dmdlec3&mode=read&num=1488&page=1&backdepth=1

 

이 에러 때문에 일주일을 고생했습니다. 게시판에 검색해보니깐, 몇몇 분들이 글을 올리셨던데 답변이 별로 없더군요...
이 에러가 제가 겪은 것과 다른 문제로도 발생할 수 있겠지만, 아무튼 도움이 될까해서 올립니다.

이 에러는 보통 윈도우 95/98 계열에서 발생하는데, 현재 시스템에 열려있는 소켓의 수가 너무 많아서 그렇습니다.
커맨드 라인에서 "netstat -a " 라고 치시면 현재 열러있는 포트의 수가 나타납니다.

소켓을 열어서 사용하고나서 닫지 않아서 그렇죠...

해결책은 레지스트리를 조작하면 됩니다.
regedit.exe로 "HKEY_LOCALMACHINE\System\CurrentControlSet\Services\Vxd\MSTCP " 를 열어서 MaxConnections 라는 문자열 값을 하나 만들고 값을 256으로 설정합니다.
그리고 윈도우를 재부팅하면 아마 같은 에러가 뜨지않을 겁니다.

윈도우95/98 계열에서는 위에서 처럼 레지스트리를 조작하지 않았을 경우 기본은 생성할 수 있는 소켓의 수가 100개의 설정됩니다.
그래서 100 이상이 생성될 경우 위와같은 오류가 발생하지요...

이렇게 했는데도 오류가 난다면, 사용한 소켓을 정확히 닫아줬는지 한번 확인하시구요....

제가 만드는 프로그램에서는 소켓을 많이 사용하는데, 윈도우2000에서는 잘 돌아가는 프로그램이 98에서 실행만 하면 동작을 않해서 고생했는데 여러 싸이트를 돌아다니다 보니깐 이런 자료가 있어서 이렇게 올리게 되었습니다.

한가지 말씀드리고 싶은것은 위에서 제가 말한 레지스트리 조작은 윈도우 95/98 계열에만 해당되는 내용입니다. 윈도우 2000에서는 25600개 정도의 소켓을 생성할 수 있도록 기본 설정이 되어있다고 하군요....

그럼 님들도 즐프하세요....

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소