Netty SocketIO - 无法在 AWS 中分配请求的地址



我已经使用Spring框架和Netty SocketIO实现了一个websocket服务器。在开发过程中,我使用主机地址作为localhost,服务器运行良好。

当我尝试将代码部署到 AWS 时,我将主机地址更改为实例的公有 IP 地址。但是我收到以下错误,无法启动服务器

Caused by: java.net.BindException: Can't assign requested address
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:125)
at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:484)
at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1080)
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:430)
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:415)
at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:903)
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:197)
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)

如果我无法在 AWS 中为主机分配我的公有 IP 地址,那么我可以使用哪个 IP 地址来启动我的套接字服务器?

检查您的/etc/hosts 文件。 127.0.0.1 或 192.168.10.10 或任何指向本地主机的 IP 也必须指向您的网站。

127.0.0.1 localhost my.website.com

现在,以 my.website.com 作为主机启动您的套接字,然后根据需要选择一个端口。

最新更新