相关疑难解决方法(0)

在Android中获取"SocketException:Connection by peer reset"

我的应用程序需要通过http://127.0.0.1/...(localhost url)联系它正在处理的同一设备.

出于某种原因,当我到达那里有JSON内容的网站时,大约50%的时间(可能正好是50%),我得到例外:

java.net.SocketException:recvfrom失败:ECONNRESET(由对等方重置连接)

对于其他50%,我得到了非常好的结果.我试图进行民意调查(甚至民意调查之间的延迟很大),但我仍然得到同样奇怪的结果.

我搜索过互联网,也在这里,我不确定为什么会这样.对等方是否意味着客户端已经造成了这种情况?为什么会这样,我该如何处理?

一些网站说这是常见的事情,但我没有找到在这种情况下最好的事情.

android localhost socketexception peer

39
推荐指数
2
解决办法
8万
查看次数

Android VpnService捕获数据包不会捕获数据包

我现在一直在寻找我的答案几个小时,我无法弄明白.请帮忙.

我想要做的是使用Android中的VpnService来获取网络数据包,如应用程序tPacketCapture

我开始使用谷歌的ToyVpn示例代码并对其进行修改,因此我不会将数据发送到服务器.但是,我不确定这是否正确.

我的configure方法在调用establish()之前使用binder.addAddress()的wlan ip地址.我正在使用nexus 7并使用"adb shell netcfg | grep wlan0"来获取地址:

wlan0 UP 192.168.0.6/24 0x00001043 10:bf:48:bf:5f:9d

并在我的方法中添加它:

    private void configure() throws Exception {
    // If the old interface has exactly the same parameters, use it!
    if (mInterface != null) {
        Log.i(TAG, "Using the previous interface");
        return;
    }

    // Configure a builder while parsing the parameters.
    Builder builder = new Builder();
    builder.setMtu(1500);
    builder.addAddress("192.168.0.6", 24);

    try {
        mInterface.close();
    } catch (Exception e) {
        // ignore
    }

    mInterface = builder.establish();
}
Run Code Online (Sandbox Code Playgroud)

在调用之后,我调用我修改的run方法来传递String而不是InetSocketAddress,这并不重要,因为我没有在任何地方使用它: …

android capture packet

32
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×2

capture ×1

localhost ×1

packet ×1

peer ×1

socketexception ×1