Java android mina ssl不能发送数据,但可以接收数据
android使用mina ssl握手成功,但不能发送数据,但可以接收数据! 以下是关键代码: 服务器: 客户:Java android mina ssl不能发送数据,但可以接收数据,java,android,ssl,mina,Java,Android,Ssl,Mina,android使用mina ssl握手成功,但不能发送数据,但可以接收数据! 以下是关键代码: 服务器: 客户: if (mConnector == null) { mConnector = new NioSocketConnector(); mConnector.setDefaultRemoteAddress(new InetSocketAddress("192.168.1.78", 8012)); IoH
if (mConnector == null) {
mConnector = new NioSocketConnector();
mConnector.setDefaultRemoteAddress(new InetSocketAddress("192.168.1.78", 8012));
IoHandlerListener listener = new IoHandlerListener(bean[0]);
mConnector.setHandler(listener);
try {
SSLContext sslContext = SSLContext.getInstance("ssl");
sslContext.init(getKeyManagers(mContext,"123456"),new TrustManager[] { new X509TrustManager() }, new SecureRandom());
SslFilter sslFiler = new SslFilter(sslContext);
sslFiler.setNeedClientAuth(false);
sslFiler.setUseClientMode(true);
mConnector.getFilterChain().addLast("SslFilter",sslFiler);
//mConnector.getFilterChain().addLast("protocal", new ProtocolCodecFilter(new VargoProtocolCodecFactory()));// vargo协议Filter
mConnector.getFilterChain().addLast("protocal", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
} catch (GeneralSecurityException e) {
e.printStackTrace();
Log.i(LOG_TAG, "connect server error.....");
} catch (IOException e) {
e.printStackTrace();
Log.i(LOG_TAG, "connect server error.....");
}
}
ConnectFuture connectFuture = mConnector.connect();
connectFuture.awaitUninterruptibly();
IoSession session = connectFuture.getSession();
if (session != null && session.isConnected()) {
Log.i(LOG_TAG, "connect server success.....");
} else {
Log.i(LOG_TAG, "connect server error.....");
}
服务器名为public void sessionOpened(IoSession session)method session.write android客户端可以正常发送接收到的数据。当时我在android中使用public void sessionOpened(IoSession session)方法向服务器发送数据时无法发送。尚未调用客户端messageSent方法!我已经尝试过了,如果我摆脱了任何证书验证结束。您将被提示握手失败
if (mConnector == null) {
mConnector = new NioSocketConnector();
mConnector.setDefaultRemoteAddress(new InetSocketAddress("192.168.1.78", 8012));
IoHandlerListener listener = new IoHandlerListener(bean[0]);
mConnector.setHandler(listener);
try {
SSLContext sslContext = SSLContext.getInstance("ssl");
sslContext.init(getKeyManagers(mContext,"123456"),new TrustManager[] { new X509TrustManager() }, new SecureRandom());
SslFilter sslFiler = new SslFilter(sslContext);
sslFiler.setNeedClientAuth(false);
sslFiler.setUseClientMode(true);
mConnector.getFilterChain().addLast("SslFilter",sslFiler);
//mConnector.getFilterChain().addLast("protocal", new ProtocolCodecFilter(new VargoProtocolCodecFactory()));// vargo协议Filter
mConnector.getFilterChain().addLast("protocal", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
} catch (GeneralSecurityException e) {
e.printStackTrace();
Log.i(LOG_TAG, "connect server error.....");
} catch (IOException e) {
e.printStackTrace();
Log.i(LOG_TAG, "connect server error.....");
}
}
ConnectFuture connectFuture = mConnector.connect();
connectFuture.awaitUninterruptibly();
IoSession session = connectFuture.getSession();
if (session != null && session.isConnected()) {
Log.i(LOG_TAG, "connect server success.....");
} else {
Log.i(LOG_TAG, "connect server error.....");
}