- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在某些设备上我遇到以下崩溃:
//崩溃信息
SIGABRT
00 pc 00041300 /system/lib/libc.so (tgkill+12) [armeabi-v7a::1b317667710e940729198acd09513c97]
01 pc 000401b5 /system/lib/libc.so (pthread_kill+32) [armeabi-v7a::1b317667710e940729198acd09513c97]
02 pc 0001c893 /system/lib/libc.so (raise+10) [armeabi-v7a::1b317667710e940729198acd09513c97]
03 pc 00019af1 /system/lib/libc.so (__libc_android_abort+34) [armeabi-v7a::1b317667710e940729198acd09513c97]
04 pc 000176b8 /system/lib/libc.so (abort+4) [armeabi-v7a::1b317667710e940729198acd09513c97]
05 pc 0001b553 /system/lib/libc.so (__libc_fatal+16) [armeabi-v7a::1b317667710e940729198acd09513c97]
06 pc 0001b56b /system/lib/libc.so (__fortify_chk_fail+18) [armeabi-v7a::1b317667710e940729198acd09513c97]
07 pc 00046315 /system/lib/libc.so (__FD_SET_chk+24) [armeabi-v7a::1b317667710e940729198acd09513c97]
08 pc 000092f5 /system/lib/libjavacrypto.so [armeabi-v7a::3bdb8758762753b0649e6940a3fc1a62] java:
com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:324) com.android.org.conscrypt.OpenSSLSocketImpl.waitForHandshake(OpenSSLSocketImpl.java:629) com.android.org.conscrypt.OpenSSLSocketImpl.getSession(OpenSSLSocketImpl.java:793) com.thirdparty.afinal.utils.HttpsHelper$a.createSocket(SourceFile:786) org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:170) org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169) org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124) org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:366) org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:596) org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:517) com.thirdparty.afinal.f.c.a(SourceFile:80) com.thirdparty.afinal.f.c.b(SourceFile:117) com.thirdparty.afinal.c.d$2.call(SourceFile:146) java.util.concurrent.FutureTask.run(FutureTask.java:237) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) java.lang.Thread.run(Thread.java:833)
//代码如下
私有(private)静态最终类 MySSLSocketFactory 扩展 SSLSocketFactory {
private KeyStore mKeystore;
public MySSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException,
KeyManagementException, KeyStoreException, UnrecoverableKeyException {
super(truststore);
mKeystore = truststore;
}
final static HostnameVerifier hostnameVerifier = new StrictHostnameVerifier();
@SuppressLint("NewApi")
@Override
public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException {
if (autoClose) {
socket.close();
}
SSLCertificateSocketFactory sslSocketFactory =
(SSLCertificateSocketFactory) SSLCertificateSocketFactory.getDefault(0);
try {
sslSocketFactory.setTrustManagers(new TrustManager[] { new MyX509TrustManager(mKeystore)});
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
}
@SuppressLint("SSLCertificateSocketFactoryCreateSocket")
SSLSocket ssl = (SSLSocket)sslSocketFactory.createSocket(InetAddress.getByName(host), port);
if (socket instanceof SSLSocket) {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH
&& Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
ssl.setEnabledProtocols(ssl.getSupportedProtocols());
}
}
sslSocketFactory.setHostname(ssl, host);
SSLSession session = ssl.getSession();
if (!hostnameVerifier.verify(host, session)){
throw new SSLPeerUnverifiedException("Cannot verify hostname: " + host + " peer=" + session.getPeerHost());
}
return ssl;
}
}
最佳答案
您的应用可能试图一次创建太多套接字连接。
Android
对每个应用的文件描述符数量有限制(不超过 1024)。
关于android - OpenSSLSocketImpl.getSession 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51452319/
有什么区别 request.getSession() 和 getThreadLocalRequest().getSession() 我正在维护的应用程序似乎将第一个用于直接 Servlet,将第二个用
我了解 request.getSession(true) 和 request.getSession(false) 之间的区别。但是 request.getSession() 和 request.get
就 session 而言,这些调用实际上意味着什么? System.out.println("print1: "+request.getSession().getId()); System.out.p
在过滤器中,我使用request.getSession(false)来获取 session ,这没关系。但是当我对其进行单元测试时,request.getSession(false)将返回null o
我们通过实现 Filter 在我们的应用程序中拥有 SecurityFilter 类,我们的 doFilter 方法如下所示。 public void doFilter(ServletRequest
我有一个 servlet LogMeOut.java,我在其中编写以下代码: HttpSession session = request.getSession(false); if (session
非常简单的问题,request.getSession(true) 返回 null,就好像拒绝创建 session 一样。我已经重新启动了我的机器并为 Tomcat 和 IntelliJ 添加了内存。任
我创建了一个登录 servlet: @WebServlet( name = "SignInServlet", description = "check email & pass",
在某些设备上我遇到以下崩溃: //崩溃信息 SIGABRT 00 pc 00041300 /system/lib/libc.so (tgkill+12) [armeabi-v7a::1b3176677
我理解如果我们使用下面的语句 HttpSession session = request.getSession(); 将创建唯一 session ID,创建 Cookie 并将 Cookie 与 se
是否可以找到Android OpenSSLSocketImpl 关闭Socket 的原因? (如何调试 Android 内部库?) 背景:可以找到我尝试创建 SSLContext 的来源 in TLS
本文整理了Java中org.directwebremoting.WebContext.getSession()方法的一些代码示例,展示了WebContext.getSession()的具体用法。这些代
sessionCreated()中的HttpSessionListener方法是否自动与request.getSession()调用同步?特别是,我想知道在sessionCreated()方法中设置
我试图在Grails 2.3.5的TagLib中使用以下代码。 class LoginTagLib { def loginControl = { if(request.getSession(
使用 Spring 的 SessionFactoryUtils for Hibernate,getSession() 和 getNewSession() 之间的实际区别是什么? 我一直在 DAO 方法
由于对 Spring 方法的理解不当,我遇到了一个问题 -> GetHibernateTemplate/GetSession。当我使用 native sql 查询 [getSession().crea
我编写了一个过滤器,它会使当前 session 无效并创建新 session 并将旧 session 的属性复制到新 session 中。这在 tomcat5 和 jdk 1,4 中工作正常但是当我将
我正在测试以下方法: public static String createSn(HttpServletRequest request, String usrnm) { HttpSession
我脑子里有以下代码 jQuery(document).ready(function() { var pic = 0; FB.init({appId: '135570939849404'
我有一个问题。在 glassfish 的 servlet 中,我调用方法 request.getSession(false)。它应该返回 null。但是总是返回一个 session。此外,如果我在调用
我是一名优秀的程序员,十分优秀!