Winty PC에 루프백 어댑터를 설정하여 Netty로 바인드 할 수 있도록했습니다. 것은 루프백 주소에 IP 주소가 172.16.1.1 /24
(필수) 인 것을 지정합니다. 그러나 Netty를 통해 바인드하려고하면 기본 로컬 호스트 IP라고하는 127.0.0.1
주소로 바인드됩니다. 그래서이 문제를 어떻게 해결할 수 있을지 궁금합니다. 특히 IP 주소가 172.16.1.1
이고 포트가 162
인 루프백 어댑터에 바인드해야합니다.잘못된 인터페이스에 대한 Netty 바인딩
은 사진 관련 : http://i.imgur.com/LdGQZh3.png
NetUtil - Loopback interface: Software Loopback Interface 1
NetUtil - Loopback address: /127.0.0.1 (primary) <--- the problem
NetUtil - Loopback address: /0:0:0:0:0:0:0:1
코드 관련 :
public class SnmpServer {
private final Logger logger = Logger.getLogger("SnmpServer");
//private final static String SNMP_HOST_IP = "172.16.1.1";
private static final byte[] SNMP_HOST_ADDR = {(byte)172, (byte)16, (byte)1, (byte)1};
private final static int SNMP_TRAP_PORT = 162;
final ServerBootstrap snmpBootstrap;
public SnmpServer() {
snmpBootstrap = new ServerBootstrap();
}
public void bind() throws Exception {
final EventLoopGroup bossGroup = new NioEventLoopGroup();
final EventLoopGroup workerGroup = new NioEventLoopGroup();
final SocketAddress socket =
new InetSocketAddress(InetAddress.getByAddress(SNMP_HOST_ADDR), SNMP_TRAP_PORT);
try {
snmpBootstrap.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.childHandler(new SnmpChannelHandler());
final ChannelFuture future = snmpBootstrap.bind(socket).sync();
//future.channel().closeFuture().sync();
} finally {
bossGroup.shutdownGracefully();
workerGroup.shutdownGracefully();
}
}
}
127.0.0.1 *은 * 루프백 주소이고 172.16.1.1은 아닙니다. – EJP