1

を使用して、Android で単純な tcp/ip クライアントを作成しようとしていますNetty 4。現在は正常に動作していますが、デバイスが接続を失って再度取得した場合、再接続に問題があります。私のクライアントコード:

public class Client {

    private EventLoopGroup group;
    public static Bootstrap b;

    public void run() throws Exception {
        group = new NioEventLoopGroup();
        b = new Bootstrap();
        b.group(group)
                .channel(NioSocketChannel.class)
                .handler(new ClientInitializer(b));
        b.option(ChannelOption.SO_KEEPALIVE, true);
    }

    public void startConnection(){
        try {
            b.connect(Constants.HOSTNAME, Constants.PORT).sync().channel();
        } catch (Exception e) {
            Log.e(TAG, e.getMessage());
        }
    }

    public void closeConnection () throws Exception{
        group.shutdownGracefully();
    }
}

レシーバーを介したアクティビティで、インターネット接続を検出し、インターネットが利用可能な場合は次のアクションを実行します。

Client.b.connect(Constants.HOSTNAME, Constants.PORT);

しかし、新しい接続はサーバーを認識できません。私は何を間違っていますか?私のやり方が間違っているのでしょうか?

4

0 に答える 0