&引用;OSError:[Errno 49]可以';t分配请求的地址“;OSX python套接字

&引用;OSError:[Errno 49]可以';t分配请求的地址“;OSX python套接字,python,sockets,Python,Sockets,我目前正在编写一个程序,用python创建一个套接字,并允许所有者在用户机器上执行命令。这是我的代码: 导入套接字 导入子进程,操作系统 印刷品(印刷品) 打印(“我想知道是什么”) 打印(“#此程序有#”) 打印(“##”) 打印(“##”) 打印(“##”) 打印(“##”) 印刷品(印刷品) 主机=输入(“您希望使用哪台主机?”) port=int(输入(“您希望使用哪个端口?”) server\u socket=socket.socket(socket.AF\u INET,socket.

我目前正在编写一个程序,用python创建一个套接字,并允许所有者在用户机器上执行命令。这是我的代码:

导入套接字
导入子进程,操作系统
印刷品(印刷品)
打印(“我想知道是什么”)
打印(“#此程序有#”)
打印(“##”)
打印(“##”)
打印(“##”)
打印(“##”)
印刷品(印刷品)
主机=输入(“您希望使用哪台主机?”)
port=int(输入(“您希望使用哪个端口?”)
server\u socket=socket.socket(socket.AF\u INET,socket.SOCK\u流)
server_socket.setsockopt(socket.SOL_socket,socket.SO_REUSEADDR,1)
server_socket.bind((主机、端口))
服务器\u套接字。侦听(5)
打印(“\n[*]在端口“+str(端口)+”上侦听,正在等待连接。”)
client_socket,(client_ip,client_port)=server_socket.accept()
打印(“[*]客户端”+客户端ip+”已连接。\n”)
尽管如此:
尝试:
命令=输入(客户端ip+“>”)
如果(len(command.split())!=0):
客户端\u socket.send(命令)
其他:
持续
除(EOR)外:
打印(“找不到错误输入。请键入“帮助”以获取命令列表。\n”)
持续
如果(命令==“退出”):
打破
data=client_socket.recv(1024)
打印(数据+“\n”)
client_socket.close()
它在Windows 10上运行正常,但在我的Mac上显示以下错误:

OSError:[Errno 49]无法分配请求的地址


有问题吗?

欢迎来到StackOverflow。您实际为程序提供了哪些输入值,以便它监听
bind()
?您是否碰巧尝试绑定到<1024的保留系统端口?Windows在这方面没有其他平台严格。只有管理员可以使用这些端口。好的,我只测试了端口12345和1234,我将尝试其他端口。谢谢你让我知道!那
主机呢
?你为此提供了什么价值?很难告诉您为什么
bind()。请提供一个。该程序使用用户输入来分配端口和主机,例如:host=input(“您想使用什么主机?”),然后port=int(input(“您想使用什么端口?”),并将它们绑定到服务器\u socket.bind((主机,端口))。我尝试了很多端口,但都不起作用。同样的错误。我的防火墙也关闭了,所以这不应该是一个问题。主机是他们在其中托管套接字的用户IP地址