Java Apache Mina Android无法连接
我用ApacheMina制作了一个客户机-服务器应用程序。服务器将在Windows上运行,客户端将在Android 4.1上运行。在本地测试客户机时(在独立Java应用程序中调用代码),一切正常。在设备上,它表示无法连接到服务器。客户端和服务器都位于同一个本地网络上。你知道为什么会有这种行为吗 可能是因为权限?我把Java Apache Mina Android无法连接,java,android,apache-mina,Java,Android,Apache Mina,我用ApacheMina制作了一个客户机-服务器应用程序。服务器将在Windows上运行,客户端将在Android 4.1上运行。在本地测试客户机时(在独立Java应用程序中调用代码),一切正常。在设备上,它表示无法连接到服务器。客户端和服务器都位于同一个本地网络上。你知道为什么会有这种行为吗 可能是因为权限?我把 使用权限android:name=“android.permission.INTERNET” 使用权限android:name=“android.permission.ACCESS\
使用权限android:name=“android.permission.INTERNET”
使用权限android:name=“android.permission.ACCESS\u NETWORK\u 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);
客户端代码
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)