我遇到了这种奇怪的情况,我可以将ServerBootstrap与本地IP地址绑定,但当我尝试使用我的公共IP地址时,它抛出了一个异常:< code >线程" main " org . JBoss . netty . channel . channel异常:无法绑定到:/57.88.173.132:5055
有人可以向我解释出了什么问题吗???顺便说一句,我使用网络3.6.1
我改变了地址,它不是真实的,它们是随机数,但端口是真实的
这是密码
私有静态最终字符串BIND_ADDRESS="57.88.173.132";私有静态最终int PORT=5055;
public Server()
{
try
{
startup();
}
catch (IOException e)
{
e.printStackTrace();
}
}
private void startup() throws IOException
{
ServerBootstrap serBootstrap = new ServerBootstrap(new NioServerSocketChannelFactory(Executors.newCachedThreadPool(),Executors.newCachedThreadPool()));
serBootstrap.setPipelineFactory(new PipelineFactory());
serBootstrap.bind(new InetSocketAddress(BIND_ADDRESS,PORT));
这里是抛出的异常
Exception in thread "main" org.jboss.netty.channel.ChannelException: Failed to bind to: /57.88.173.132:5055
at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:301)
at com.game.server.Server.startup(Server.java:33)
at com.game.server.Server.<init>(Server.java:22)
at com.game.server.Server.main(Server.java:44)
Caused by: java.net.BindException: Cannot assign requested address: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.Net.bind(Unknown Source)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at org.jboss.netty.channel.socket.nio.NioServerBoss$RegisterTask.run(NioServerBoss.java:193)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:367)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:291)
at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
这实际上不是一个棘手的问题。
这很清楚。在大多数情况下,这意味着该端口已经由其他进程侦听,要检测它,您可以使用netstat命令。
但也有一些特殊情况:
此处的注释1:
这可能与/etc/hosts中的错误配置有关。在我的例子中,它是这样的:192.168.1.11 localhost而不是127.0.0.1 localhost
从这里备注2:
错误显示无法分配请求的地址。这意味着您需要使用其中一个网络接口的正确地址或 0.0.0.0 来接受来自所有接口的连接。
已编辑。
问题内容: 如果我在中保留注释,它将像正常一样开始(返回预期结果)。 但是,如果我设置了它,那么它会说OK,但是elasticsearch的状态是。 在这种情况下我做错了什么? 系统:Ubuntu 14.04 LTS 更新:通过将其绑定到进行修复。 问题答案: 更新:通过将其绑定到0.0.0.0进行了修复。
我有一个Angular应用程序,有一个API,它连接并调用一个在服务器上建立的数据库,该数据库具有一个公共IP。 第二,你有什么想法为什么会发生这种情况吗? 谢谢。
问题内容: 我如何将expressjs服务器绑定到特定IP 就像是 等效于nodejs: 问题答案: 在调用listen时,ExpressJS 会将参数向下传递给模块,因此您的示例应该可以正常工作。 不是吗?
我希望创建一个EMR集群,其中出于安全原因,没有为任何实例分配公共IP地址。我已经能够在我的VPC中启动集群,并使用我自己的自定义安全组,但由于某些原因,默认情况下所有节点都分配了一个公共IP地址。 我在EMR CLI文档中找不到有关如何禁用此功能的任何信息:http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-
下面是出现主要错误的代码 以下是关于我的代码的更多上下文:
我们举个例子: 一个常见的解决方案是转移到一个抽象类,但是在我的具体案例中,我有一个枚举的接口,所以在这里不适用。我想这不是被忽略了,就是因为接口背后的原始想法,即它们是可用方法的“契约”,但我想我需要关于这是怎么回事的输入。 我读过“为什么Java 8接口方法中不允许使用”final“?”,其中说: 默认方法的基本思想是:它是具有默认实现的接口方法,派生类可以提供更具体的实现 与关联问题一样,由