java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:174)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:139)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:77)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:70)
at org.restlet.engine.connector.ServerConnectionHelper.createServerSocketChannel(ServerConnectionHelper.java:158)
at org.restlet.engine.connector.ServerConnectionHelper.start(ServerConnectionHelper.java:320)
at org.restlet.Server.start(Server.java:590)
at org.restlet.Component.startServers(Component.java:611)
at org.restlet.Component.start(Component.java:538)
at ucsRestService.service.UCSRestService.main(Unknown Source)
答案 0 :(得分:1)
简而言之,您正尝试使用相同的主机和端口创建多个服务器。
答案 1 :(得分:1)
有一些服务/服务器在指定端口上侦听。您必须更改要尝试启动的服务器/服务端口,或禁用占用该端口的服务/服务器。
答案 2 :(得分:1)
一台机器一次只能有一个具有特定端口号的侦听器。对于多个侦听器,请尝试不同的端口号。
答案 3 :(得分:0)
我有时会遇到这个错误,当时我正在使用 - 尤其是。测试 - 套接字应用程序。
如果你创建了一个套接字,那么之后你必须 close()
。如果不这样做,下次尝试在同一端口上创建套接字时,则不能,因为它已被占用。
尝试使用其他端口并记住始终关闭;)如果您不想在其他端口上创建套接字,我猜您必须重新启动计算机(或者只是重新启动网卡)。
如果无法直接调用close()
,因为套接字被框架隐藏,您应该正确终止该框架。然后它将设法关闭它的所有资源(至少如果它是一个合理的框架)。