最近我无法打开我的电脑(windows10)上某些未使用的本地端口。例如,当我尝试使用 python 套接字打开端口 1883 时,它会给出以下内容:
[WinError 10013] 尝试以访问权限禁止的方式访问套接字
但是,netstat -nq | findstr 1883在 powershell 中没有显示任何内容,这应该表明端口没有被绑定。
后来我发现其他端口也有这个问题。这是我用来检查的一个简单脚本:
import socket
with open('out.txt', 'w') as f:
for i in range(1,10000):
s = socket.socket()
host = socket.gethostname()
port = i
try:
s.bind((host, port))
print("succeeded",port, file=f)
except OSError :
print("failed",port, file=f)
Run Code Online (Sandbox Code Playgroud)
结果如下:
...
...
succeeded 1131
succeeded 1132
failed 1133
failed 1134
failed 1135
...
...
failed 1631
failed 1632
succeeded 1633
succeeded 1634
succeeded 1635
...
...
succeeded 1731
succeeded 1732
succeeded …Run Code Online (Sandbox Code Playgroud)