私はTCPクライアントを構成しようとしているJavaでNettyを使用しています。ポート1050で接続していることを除いて、これまでのところすべてが機能していますが、ハンドラーのmessageReceived()メソッドでmessageEvent.getRemoteAddress()を呼び出すと、ポート1500を取得しています。ポートを1049に変更しましたが、 mはまだ1500を受信しています。これはNettyの問題ですか、それともサーバーの問題でしょうか。
ここでの私のハードウェア設定は次のとおりです。Javaサーバー上で実行されているこのnettyクライアントと、いくつかのアクセス制御機器がここの領域に広がっています。機器はtcpサーバーとして機能し、nettyはクライアントとして機能し、サーバーが送信するすべてのものを処理し、それらに応答するだけです。
TCPサーバーの初期化は次のとおりです。
private ChannelFactory fabrica;
private ServerBootstrap bootstrap;
public void iniciarServidorTCP() {
fabrica = new NioServerSocketChannelFactory(
Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
bootstrap = new ServerBootstrap(fabrica);
bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
@Override
public ChannelPipeline getPipeline() throws Exception {
ChannelPipeline pipeline = Channels.pipeline();
pipeline.addLast("decoderDeMensagem", new MensagemDecoderTCP());
pipeline.addLast("handlerGerente", new GerenteTCP());
pipeline.addLast("encoder de mensagem", new MensagemEncoderTCP());
return pipeline;
}
});
bootstrap.setOption("child.tcpNoDelay", true);
bootstrap.setOption("child.reuseAddress", true);
bootstrap.bind(new InetSocketAddress(1050));
}
1050ではなく1500を取得する理由はありますか?機器に問題がありますか?