2011-10-27 21 views

回答

3

在Windows以外的每个主要操作系统上,除非您是root用户,否则无法绑定到端口80。不只是一个管理员用户 - 根。

在Mac上,如果已启用,端口80也可能已被内置Web服务器(Apache)使用。

+0

嗨,谢谢你回答我的问题,我可以使用另一个端口麻木。愚蠢的问题,如果我建立在根用户帐户下的程序。一个人如何安装MAC上的程序(我是一个刚刚开始使用MAC的PC人员,因此我不需要处理这些问题)Ted –

0

可能有使用该端口的限制。尝试使用罕见端口号运行它。

也可以尝试这个检查哪些端口,可用于正确使用与否:

ServerSocket serversocket = null; 

    try { 
     serversocket = new ServerSocket(i); 
     serversocket.close(); 
     System.out.println(i + " Available"); 
    } catch (BindException ex) { 
     System.out.println(i + " Unavailable"); 
    } 
} 
+0

其中'i'是端口号 – Mob

+0

端口正在使用中doesn不会导致'权限被拒绝'。 – EJP

0

的“权限被拒绝”的消息意味着你的用户没有必要的权限,以一个插座到该端口进行绑定。在基于Unix的操作系统上,低于1024的端口只能由root用户绑定。可能类似的限制也适用于Windows - 您的Windows用户是否具有管理员权限?

如果您的用户确实有权限,并且在端口80上运行了另一项服务(如Apache),则会显示“地址已在使用中”消息。