Volley.NoConnectionError:java.io.EOFException 0

2024-03-07

我不明白这个错误,虽然我在网上搜索了很多次,但没有采取任何措施,有时会出现该错误。 我做了一个使用 VOlley 库的应用程序,一切正常,我的请求 95% 有效,但有时我遇到错误;

11-12 12:18:54.991: I/Error(1870): com.android.volley.NoConnectionError: java.io.EOFException 0

我不知道为什么会出现这个错误。例如,在连接到应用程序期间,我发送了一些信息,例如用于通知 GCM 的 register_id 、登录名、密码和 IMEI,有时我会出现此错误,显示 0_0

这是我的登录请求(但在我的所有请求中都有此错误):

 public void connectDriver() {

    String url = UtilClass.getSytemValue("url_proxy",LoginConnection.this)+ ":"+ UtilClass.getSytemValue("port_proxy",LoginConnection.this) + "/api/driver/login";

        final ProgressDialog pDialog = new ProgressDialog(this);
        pDialog.setMessage("Connexion...");
        pDialog.show();
        Log.i("url", url);

        RequestQueue rq = Volley.newRequestQueue(this);
        StringRequest postReq = new StringRequest(Request.Method.POST, url,
            new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Log.d("response connection ", response);

                pDialog.dismiss();

                Gson gson = new Gson();
                final Driver driver = gson.fromJson(response.toString(), Driver.class);
                Log.i("DRIVER GSON", driver.toString());
                UtilClass.setSytemValue("driver_id",Integer.toString(driver.getId()),LoginConnection.this);

                driver.setLogin(mlogin);
                driver.setPass(util.md5(mPassword));

                if (driver.getSignature().isEmpty()) {
                    driver.setSignature(null);
                }

                final DriverQuery driverQuery = new DriverQuery(LoginConnection.this);
                driverQuery.open();
                long success = driverQuery.insertDriver(driver);
                driverQuery.close();
                Log.i("connection driver success : ",Long.toString(success));

                UtilClass.setSytemValue("driver_id",Integer.toString(driver.getId()),LoginConnection.this);
                Log.i("DRIVER SEND BEFORE GOTO", driver.toString());
                goTo(driver);

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                pDialog.dismiss();
                int errorStatus = error.networkResponse != null ? error.networkResponse.statusCode
                        : 0;
                Log.i("Error ", error.toString() + " "
                        + errorStatus);

                AppController.getInstance().getRequestQueue()
                .stop();

                DriverQuery driverQuery = new DriverQuery(LoginConnection.this);
                driverQuery.open();
                Driver driver = driverQuery.getDriverExist(mlogin,util.md5(mPassword));

                if (driver.getId() != 0) {
                    goTo(driver);
                    UtilClass.setSytemValue("driver_id",Integer.toString(driver.getId()),LoginConnection.this);

                } else if (errorStatus == 500) {

                    AlertDialog ad = new AlertDialog.Builder(LoginConnection.this)
                    .setPositiveButton("Ok", null)
                    .setTitle("Problème")
                    .setIcon(android.R.drawable.ic_dialog_alert)
                    .setMessage("Un problème est survenue sur le serveur\nSi cela persiste , veuillez contacter l'administrateur")
                    .create();
                    ad.show();

                } else if (errorStatus == 400) {

                    AlertDialog ad = new AlertDialog.Builder(
                            LoginConnection.this)
                    .setPositiveButton("Ok", null)
                    .setTitle("Erreur")
                    .setIcon(android.R.drawable.ic_dialog_alert)
                    .setMessage("La syntaxe de la requête est erronée.\nSi cela persiste , veuillez contacter l'administrateur")
                    .create();
                    ad.show();

                } else if (errorStatus == 404) {

                    AlertDialog ad = new AlertDialog.Builder(LoginConnection.this)
                    .setPositiveButton("Ok", null)
                    .setTitle("Erreur")
                    .setIcon(android.R.drawable.ic_dialog_alert)
                    .setMessage("Identification incorrect.\nSi cela persiste , veuillez contacter l'administrateur")
                    .create();
                    ad.show();

                } else if (errorStatus == 0) {

                    AlertDialog ad = new AlertDialog.Builder(LoginConnection.this)
                    .setPositiveButton("Ok", null)
                    .setTitle("Erreur")
                    .setIcon(android.R.drawable.ic_dialog_alert)
                    .setMessage("Le temps d'attente a été dépassé.\nSi cela persiste , veuillez contacter l'administrateur")
                    .create();
                    ad.show();

                }
                driverQuery.close();
            }
        }) {
            @Override
            protected Map<String, String> getParams() {
                Map<String, String> params = new HashMap<String, String>();

                params.put("login", mlogin);
                params.put("password", util.md5(mPassword));
                params.put("imei", getImei());
                params.put("registerId", UtilClass.getSytemValue("register_id", LoginConnection.this));

                Log.i("getParams", params.toString());
                return checkParams(params);
            }
              private Map<String, String> checkParams(Map<String, String> map){               
                    Iterator<Entry<String, String>> it = map.entrySet().iterator();
                    while (it.hasNext()) {
                        Map.Entry<String, String> pairs = (Map.Entry<String, String>)it.next();
                        if(pairs.getValue()==null){
                            map.put(pairs.getKey(), "");
                        }
                    }
                    return map;             
                }

        };

        // Adding request to request queue
        postReq.setRetryPolicy(new DefaultRetryPolicy(60 * 1000, 1,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));       
        AppController.getInstance().addToAndStartRequestQueue(postReq);         
        Log.i(TAG + " -> cache volley",Integer.toString(rq.getSequenceNumber()));


}

这是由于同时调用多个请求而发生的。我已经设置了优先级并且效果很好。

@Override
public Priority getPriority() {
    Request.Priority mPriority = Priority.HIGH;
    return mPriority;
}

Note:根据自己的需要设置不同的优先级。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Volley.NoConnectionError:java.io.EOFException 0 的相关文章

  • 如何消除警告:使用“$”而不是“.”对于 Eclipse 中的内部类

    我是 Android 开发新手 当我将 eclipse 和 Android SDK 更新到最新版本后 我收到警告 Use instead of for inner classes or use only lowercase letters
  • 如何模拟一个方面

    我目前正在使用aspectj 开发一些监控工具 因为这个工具应该是技术独立的 尽可能 所以我没有使用 Spring 进行注入 但我希望我的方面能够经过单元测试 方面示例 Aspect public class ClassLoadAspect
  • Java 的 QP 求解器 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Spring 中设置 WS https 调用超时 (HttpsUrlConnectionMessageSender)

    我正在尝试为 WS 调用设置超时 我延长了WebServiceGatewaySupport并尝试将发送者超时设置为如下 public Object marshalSendAndReceive Object requestPayload We
  • LibGdx 如何使用 OrthographicCamera 滚动?

    我已经找了 10 个小时 字面意思 我已经完成了 我需要问一下 事情是我正在学习如何使用 LibGdx 来编写 Java 游戏 我正在做一个水平太空飞船游戏 所以 我最糟糕的问题是我不知道如何滚动 我认为绘制会更好地解释 我想绘制一个巨大的
  • java 属性文件作为枚举

    是否可以将属性文件转换为枚举 我有一个包含很多设置的属性文件 例如 equipment height equipment widht equipment depth and many more like this and not all a
  • Android - 从服务器获取响应时验证 JSON 以避免 JSONException

    在我的一些与服务器通信并使用 http 获取响应的应用程序中 我使用 json 来格式化数据服务器端 当它到达设备时 我使用类似于我在 stackoverflow 上找到的代码 private class LoadData extends
  • Android - 测试另一个活动是否已开始

    我正在尝试测试以下场景 在自动完成文本视图中输入一个字母 向下滚动并选择其中一个选项 然后单击一个按钮 单击按钮将启动一个新活动 我想检查新活动是否已经开始 这是测试方法 public void testSpinnerUI mActivit
  • Android 上的 Jetty 上的 Jersey 抛出 ContainerException:“不存在 WebApplication 提供程序”

    我正在尝试在 Android 上的 Jetty 上运行 Jersey 我创建了一个 Android 它使用 Jersey Servlet 实例化 Jetty 服务器 无论如何 当我启动 Jetty 并访问 REST 资源时 在我的例子中 h
  • Java中的DRY原则[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我一直在读关于DRY https en wikipedia org wiki Don 27t repeat yourself原则 虽然看起来
  • 使用外部硬盘写入和存储 mysql 数据库

    我已经设置了 mysql 数据库在我的 Mac 上使用 java 和 eclipse 运行 它运行得很好 但现在我将生成大约 43 亿行数据 这将占用大约 64GB 的数据 我存储了大量的密钥和加密值 我有一个 1TB 外部我想用作存储位置
  • 通用 JSF 实体转换器[重复]

    这个问题在这里已经有答案了 我正在编写我的第一个 Java EE 6 Web 应用程序作为学习练习 我没有使用框架 只是使用 JPA 2 0 EJB 3 1 和 JSF 2 0 我有一个自定义转换器 用于将存储在 SelectOne 组件中
  • 有没有办法模拟小部件或屏幕特定位置的触摸?

    我想触摸或点击小部件上的某处 而不让用户在此时明确触摸屏幕 有什么办法可以做到吗 我已经检查了SO答案 有些人建议使用 集成测试 但在未物理或以某种方式连接到笔记本电脑的设备上无法执行 集成测试 无法找到更好的措辞 我还尝试进行 hitTe
  • Mule/码头设置

    我有一个正在运行的 Mule 应用程序 我想在其上设置 Jetty 来响应 http 请求 以下配置
  • 使用 Maven 3 时 Cobertura 代码覆盖率为 0%

    读完这篇文章后 将 Cobertura 与 Maven 3 0 2 一起使用的正确方法是什么 https stackoverflow com questions 6931360 what is the proper way to use c
  • Android 中的字符串加密

    我正在使用代码进行加密和加密 它没有给出字符串结果 字节数组未转换为字符串 我几乎尝试了所有方法将字节数组转换为字符 但没有给出结果 public class EncryptionTest extends Activity EditText
  • JDK 7 的快速调试/调试构建

    我正在寻找 JDK 的调试 或者我猜他们称之为快速调试构建 以启用在运行时生成的打印程序集以及查找性能问题时所需的其他诊断 就目前情况而言 我似乎找不到可以直接使用的 现成的 快速调试构建二进制包 有人可以帮我提供下载链接 或者至少提供有关
  • Phonegap - cordova 在 Android 和 iOS 设备上延迟且缓慢

    我刚刚开始使用 zend studio 开始我的第一个 PhoneGap 项目 但是 在我构建并部署它之后 该应用程序非常慢 Android 和 iOS 均可 滚动滞后 如果我按下按钮 转到下一页的速度很慢 有什么办法可以提高它的性能吗 提
  • 使用 Android 的 Mobile Vision API 扫描二维码

    我跟着这个tutorial http code tutsplus com tutorials reading qr codes using the mobile vision api cms 24680关于如何构建可以扫描二维码的 Andr
  • 如何使用 Spring AOP 建议静态方法?

    在执行类的静态方法之前和之后需要完成一些日志记录 我尝试使用 Spring AOP 来实现这一点 但它不起作用 而对于正常方法来说它起作用 请帮助我理解如何实现这一点 如果可以使用注释来完成 那就太好了 也许您应该在使用 Spring AO

随机推荐

  • iOS 模拟器中屏幕内容仅显示在部分屏幕上

    我的 iOS 模拟器仅将内容显示为屏幕的一部分 我该如何修复它 我正在使用 XCode 6 3 1 谢谢 你只需要重新启动它 有时会发生这种情况 强制关闭模拟器并重新启动
  • Django 中的syncdb 时内容类型过时

    当我努力的时候syncdb对于我的 django 项目 我看到以下抱怨 The following content types are stale and need to be deleted myapp Any objects relat
  • 在Java中调用Python?

    我想知道是否可以使用 Jython 从 Java 代码调用 Python 函数 还是只能从 Python 调用 Java 代码 Jython 用于 Java 平台的 Python http www jython org index html
  • Docker 注册表镜像未使用

    当我尝试从本地镜像中提取图像时 它起作用了 docker login u docker p mypassword nexus3 pleiade mycomp fr 5000 docker pull nexus3 pleiade mycomp
  • 数字签名服务器上的私钥存储在哪里?

    我正在开发一个客户端服务器应用程序 需要在发送到客户端之前使用私钥对某些文件进行签名 然后 客户端将使用公钥验证签名 因此 私钥需要始终位于服务器上并且可由服务器应用程序读取 问题是我想知道在哪里存储我的私钥 这样在服务器受到威胁时更安全
  • 为什么 sizeWithFont:constrainedToSize:lineBreakMode: 返回错误的大小?

    我想要在表格单元格的标签中显示的字符串有两种可能的宽度 并且我需要计算高度 以便正确记录表格单元格的高度 然而 无论我对约束尺寸做什么 我都会得到相同的高度 这在我想要的情况下是不正确的 我正在使用的代码 CGFloat width 300
  • 如何使用prepareForReuse方法

    我发现这个方法叫做 void prepareForReuse I 阅读文档 https developer apple com documentation uikit uitableviewcell但我不明白如何使用它 当我滚动表格视图时
  • 如何使用 C# 创建包装 RTD 函数的 Excel 自动化插件?

    我有一个基于 RtdServer 的可用自动化插件 如何使用 RtdServer 在 C 中创建实时 Excel 自动化插件 https stackoverflow com questions 5397607 howto create a
  • Scikit learn 错误消息“精度和 F 分数定义不明确,在标签中设置为 0.0”[重复]

    这个问题在这里已经有答案了 我正在研究二元分类模型 分类器是朴素贝叶斯 我有一个几乎平衡的数据集 但是当我预测时 我收到以下错误消息 UndefinedMetricWarning Precision and F score are ill
  • 睡眠的意义(0)

    我以前见过Sleep 0 在我的代码的某些部分 一些无限 长while循环可用 我被告知这将使时间片可用于其他等待进程 这是真的 有没有什么意义Sleep 0 根据 MSDN 的文档Sleep http msdn microsoft com
  • Rails.logger.info 在初始化程序中不起作用

    Rails logger info在初始化程序中使用时不会写入任何信息到日志中 如何登录初始化程序 Rails logger Logger new STDOUT before MyServer Application initialize
  • 有关 ajax 回调和 drupal_process_form 的帮助

    我有一个通过仅在视图模式下显示的 nodeapi 添加的表单 用户可以从选择菜单中选择一个项目 他们的选择将通过发生更改时的 hook menu 回调自动保存到数据库中 如果用户禁用了 javascript 它将使用表单 api 正常提交
  • C# ftp上传到Linux

    我正在尝试检查 FTP 服务器上是否存在目录 在您说 使用 ListDirectory 或 使用 PrintWorkingDirectory 之前 它们并不总是有效 例如 我测试了是否ftp 网络服务器 日志 ftp webserver L
  • 从 Entity Framework 4.1 Code First 中的 NotMapped 类派生实体类

    我需要从不属于模型的基类派生两个实体类 NotMapped public abstract class BaseClass NotMapped public string SomeProperty get set public partia
  • 自动生成环境模块声明

    给定这 2 个打字稿文件 api Token ts interface Token code string export default Token and index ts export from api Token TSC 1 5 与
  • 如何将分数显示为带分数的最大值?

    我正在教授一门让学生习惯混合数字表示法的课程 然而 maxima 所做的所有计算都使用更传统的分数表示法 是否可以介绍一下3 2 as 1 1 2 我只需要这个用于乳胶输出 i4 tex 3 2 3 over 2 o4 false 所以我不
  • 导入org.opencv.highgui无法解析

    我安装了 OpenCV opencv 3 0 0 alpha 它工作正常 但我无法使用该导入 import org opencv core import org opencv highgui Highgui public class Mai
  • drawInRect:withAttributes 与 drawInRect:withFont:lineBreakMode:alignment

    我正在开发应用程序的新版本 并尝试替换已弃用的消息 但无法克服这一问题 我不明白为什么drawInRect withAttributes不管用 代码正确显示时drawInRect withFont lineBreakMode alignme
  • Apache Config Mime 类型:xlsx 文件在下载时被解释为 zip 文件,为什么?

    背景 由于某种原因 每当用户尝试使用 MSIE 从我们的 Intranet 打开 xslx excel 2007 文件时 文件下载对话框会将其解释为 zip 文件 诚然 xlsx 文件确实arezip 文件 但我们不希望出现这种行为 请用
  • Volley.NoConnectionError:java.io.EOFException 0

    我不明白这个错误 虽然我在网上搜索了很多次 但没有采取任何措施 有时会出现该错误 我做了一个使用 VOlley 库的应用程序 一切正常 我的请求 95 有效 但有时我遇到错误 11 12 12 18 54 991 I Error 1870