我在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)