Windows 保留通訊埠

今天在重新寫應用程式時發生了 port 被佔用的的情況導致開啟應用程式失敗,但使用 netstat -nat | findstr {port} 都沒有發現有任何應用程式佔用我設定的 port,使用 TCPView 也完全沒有被佔用。

後來想到之前 保哥 的文章,最後果然是系統保留通訊埠搞得鬼,只好先換 port 使用了。

可以使用 netsh int ipv4 show excludedportrange protocol=tcp 來查看被保留的通訊埠。

也可以用以下方法增加保留通訊埠

net stop winnat
net stop LanmanWorkstation
net stop WlanSvc
net stop WwanSvc

netsh int ipv4 add excludedportrange protocol=tcp startport={PORT} numberofports=1

net start winnat
net start LanmanWorkstation
net start WlanSvc
net start WwanSvc

另外可使用以下命令更新動態通訊埠

netsh int ipv4 show dynamic tcp
netsh int ipv4 set dynamic tcp start={PORT} num=16384