Apache Mina Android无法连接

时间:2014-09-14 21:46:51

标签: java android apache-mina

我在Apache Mina中创建了一个客户端 - 服务器应用程序。服务器将在Windows 4.1和Android 4.1上的客户端上运行。在本地测试客户端时(代码在独立的Java应用程序中调用)一切正常。在设备上它说它无法连接到服务器。客户端和服务器都位于同一本地网络中。你对这种行为有什么想法。

可能是因为权限?我把

uses-permission android:name="android.permission.INTERNET"

uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" 但没有效果。

服务器代码

        final IoAcceptor acceptor = new NioSocketAcceptor();
        acceptor.getFilterChain().addLast("logger", new LoggingFilter());
        acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
        acceptor.setHandler(ioHandler);
        acceptor.getSessionConfig().setReadBufferSize(2048);
        acceptor.bind(new InetSocketAddress(port));

客户代码

        this.connector = new NioSocketConnector();
        connector.getSessionConfig().setReadBufferSize(2048);
        LoggingFilter restrictedLoggingFilter = new LoggingFilter();
        connector.getFilterChain().addLast("logger", restrictedLoggingFilter);
        connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
        connector.setHandler(handler);

        final InetSocketAddress remoteAddress = new InetSocketAddress(address, port);
        final ConnectFuture future = connector.connect(remoteAddress);
        future.awaitUninterruptibly(2000);

        if (!future.isConnected()) {
            throw new Exception("Could not connect");
        }

        session = future.getSession();
        session.getConfig().setUseReadOperation(true);

使用端口5000 使用的IP 192.168.1.5(服务器IP)

0 个答案:

没有答案