SocketException 액세스 권한에 의해 숨겨진 소켓에 액세스를 시도했습니다 오류

ASP.Net Core로 몇달전 완료된 프로젝트에 기능을 보완할 일이 생겨서 오랜만에 프로젝트를 다시 열었습니다.
프로젝트를 열고 실행을 하니 app.Run();에서 "SocketException - 액세스 권한에 의해 숨겨진 소켓에 액세스를 시도했습니다."라고 오류가 나면서 실행이 되지 않습니다. 컴퓨터를 재부팅해도 동일한 오류가 발생합니다. 분명히 전에는 정상적으로 동작하던 프로젝트였는데요.
검색해보니 사용하려는 포트(7882 포트)를 다른 프로세스가 사용해서 나오는 오류라고 해서 컴퓨터에서 사용중인 프로세스를 전부 뒤져봤는데 해당 포트를 사용하는 프로세스는 없었습니다.
또다시 폭풍 검색을 해보니 윈도우가 특정포트를 사용할 수 없게 제한하는 경우가 있다고 해서,

netsh interface ipv4 show excludedportrange protocol=tcp

이 명령으로 확인해보니 정말로 내가 사용하려는 포트가 제한된 목록에 있었습니다.
다행히 제한 목록에서 내가 사용하려는 포트를 삭제하니 프로젝트가 정상적으로 실행되었습니다.

윈도우가 특정 포트를 제한할 수 있다는걸 처음 알았습니다.
윈도우가 특정 포트를 제한하는 이유와 어떤 조건에서 포트를 제한하는지 아시는분들의 답변 부탁드립니다.

2개의 좋아요

다음의 글로 정리해 봤으니 참고하세요.

닷넷: 2158. C# - 소켓 포트를 미리 시스템에 등록/예약해 사용하는 방법(Port Exclusion Ranges) (sysnet.pe.kr)

10개의 좋아요

상세한 설명 감사드립니다.
많은 도움이 되었습니다.

1개의 좋아요

여기서 활동도 하시는군요;; 누구신가 했더니…
닷넷데브 자주 들르시나요?

1개의 좋아요