C# NetServer.Start 호출 시 이미 LISTEN 중인 포트에 대한 오류 처리 방법

C# 으로 서버를 구현하고 있습니다. 이미 다른 프로세스에서 LISTEN 중인 포트를 StartServerParameter.tcpPorts 에 Add 하고 NetServer.Start 를 호출했을 때 사용 중인 포트일 경우 서버가 shutdown 되도록 처리하고 싶은데요. 해당하는 오류를 특정해서 처리 할 방법이 있을까요?

프라우드넷으로 서버를 여러 개 띄우다 보니 동일한 포트를 LISTEN에 사용하는 서버들이 NetServer.Start(param) 을 호출하고 정상 동작하는 것처럼 넘어갑니다. 실제로는 제일 먼저 start 한 서버만 정상적으로 패킷을 수신하고 있구요.

위 상황에서 나중에 Start 를 호출한 프로세스는 오류나 예외를 발생 시켜야 할 것으로 보이는데 그렇지 않습니다. Sample\SimpleCSharp 을 VisualStudio2022 로 빌드해서 재현하였고 netstat -ano -p tcp | find “LISTEN” 커맨드의 결과는 아래와 같습니다.

포트 재사용 옵션이 켜져있어 예외가 발생하지 않는 것으로 확인했습니다.

해당 옵션을 바꾸는 API가 존재하지 않기에 서버를 시작하기 전에 포트 번호에 대한 사용 여부를 체크하셔야 할 것으로 보입니다.