socket-安卓 Socket通信,Socket连接不上,程序就在真机崩溃但在模拟器上正常

问题描述

安卓 Socket通信,Socket连接不上,程序就在真机崩溃但在模拟器上正常

class ReceiveData extends Thread
{
int i=1;
private void reconnect( )
{
Log.i("第"+i+"次连接","reconnect刚开始执行");

            try {
                Log.i("第"+i+"次连接","Socket之前");
                Socket s=new Socket("192.168.0.103",40011);
                Log.i("第"+i+"次连接","Socket之后");
                InputStream ins=s.getInputStream();
                Log.i("第"+i+"次连接","InputStream之后");
                BufferedReader br=new BufferedReader(new InputStreamReader(ins));
                String data=null;
                Log.i("第"+i+"次连接","br之后");
                i++;
                while((data=br.readLine())!=null)
                {
                    String[] datas=data.split(",");
                    Log.i("第"+i+"次连接","datas之后");
                    int dianping=Integer.parseInt(datas[0]);
                    int zhiliang=Integer.parseInt(datas[1]);
                    float jueduijiaodu=Float.parseFloat(datas[2]);
                    float xiangduijiaodu=Float.parseFloat(datas[3]);
                   // hcs.refresh(dianping,zhiliang);
                    vcs.refresh(dianping,zhiliang );
                    disks.refresh(xiangduijiaodu, jueduijiaodu, dianping, zhiliang);
                    cuslinear.refresh(jueduijiaodu, xiangduijiaodu, dianping, zhiliang);
                }
            }catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                Log.i("第"+i+"次连接","可能没连接上");
                reconnect();
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
        }
        public void run()
        {
          reconnect();
        }
    }

在客户端的一个Activity中,启动以上线程用来接收数据,当IP地址不对时,当然也就连通不了,于是抛出异常,再重新reconnect( ) (应该没有什么问题吧?),但是在真机上反复出现几次

1: http://www.eoeandroid.com/data/attachment/forum/201403/28/141758f958x35x1733zhqp.jpg 后(大约7、8秒钟的时间,而且不会其他那几条的输出,这个我懂,因为socket没建成,于是try语句块中Socket s=new Socket("192.168.0.103",40011)后的语句就不会再执行了),该Activity就会崩溃,返回到上一个Activity,而且貌似说有内存溢出问题

而在模拟器上却不会出现这个问题。如果IP地址正确,连通了,能够正常接收数据了,也不会出现这个问题。这到底是怎么回事呢?

解决方案

是不是太占用资源了?

时间: 2024-12-30 23:00:40

socket-安卓 Socket通信,Socket连接不上,程序就在真机崩溃但在模拟器上正常的相关文章

安卓 连连看 分辨率-自己写的连连看在真机(小米3)上不能选中要连接的图形

问题描述 自己写的连连看在真机(小米3)上不能选中要连接的图形 自己写的连连看在真机(小米3)上不能选中要连接的图形,但在虚拟机上可以,经过调试发现小米3的分辨率是1080*1920,点击屏幕后返回的坐标与图片所处的实际坐标不符,虚拟机使用的分辨率是320*480,请问怎么调整他们的坐标使他们能符合呢.是调整图片的坐标,还是对小米3的坐标进行转化呢 解决方案 Android 有系统 API 可以获取屏幕的分辨率的,为了适应不同的机型你需要代码获取屏幕的分辨率.而不是设死它. 另外,UI 的图片,

c#-C#串口通信问题,调试助手使用正常,真机无效

问题描述 C#串口通信问题,调试助手使用正常,真机无效 1用C#谢了串口调试的代码,真机测试没有反应. 2用两台机器都装了串口调试助手,用C#程序发信息另一台机器的串口助手显示接受到的信息是正确的,链接到真机测试无效 3用调试助手发送代码给真机能正常运行 解决方案 从以下你的反馈信息来看,问题还是出在你的c#的代码上,建议参考以下代码 C#串口通信总结http://www.cnblogs.com/binfire/archive/2011/10/08/2201973.html

ios 真机调试 主程序-iOS真机调试卡在主程序上

问题描述 iOS真机调试卡在主程序上 虽然可能没啥用,还是先说说背景.我公司用的Apple电脑系统是OS X10.10的(最新版本),Xcode是version 6.1的(也是最新版本).做个项目在iphone4(iOS7.1)上调试没有什么问题,换了iPhone5(iOS8.1)调试就会卡在主程序上(这个大家都懂),打All exception断点没有任何停顿,下面没有任何问题输出,但是点击调试"强制继续"就能正常运行,拔掉数据线也能正常在iPhone5上运行,虽然可能不影响最后的使

android-Android程序在手机上运行崩溃但是在模拟器上能运行但是还有一个模拟器也是崩溃的

问题描述 Android程序在手机上运行崩溃但是在模拟器上能运行但是还有一个模拟器也是崩溃的 package darkhorse.english.app; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import android.app.Activity; import android.content.Context; import android.database.Curso

安卓 程序不能进行真机调试

问题描述 安卓 程序不能进行真机调试 程序可以用run运行到手机上,但是debug就会出问题,我把问题贴出来Error running Unnamed:Cannot debug application from module app on device tianyu This application does not have the debuggable attribute enabled in its manifestIf you have manually set in the manif

android处理拍照与选择相册并可动态设置是否可裁剪上传解决方案 并且真机测试通过(小米\魔族\htc)sdk2.1-4.x系统

[java] view plaincopy package org.wavefar.lib.utils;      import java.io.ByteArrayOutputStream;   import java.io.File;   import java.io.FileNotFoundException;   import java.io.FileOutputStream;   import java.io.IOException;      import org.wavefar.li

WP7上Xbox Live功能真机演示视频

微软在11日http://www.aliyun.com/zixun/aggregation/18782.html">正式发布了Windows Phone 7操作系统,国外网站在第一时间给我们带来了相关的介绍,以下是Xbox Live功能的介绍视频. 通过Windows Phone 7上的Xbox Live,用户可以编辑自己的Xbox Live头像,可以在用户界面中浏览游戏成就与分数,购买游戏等等,以下是视频演示: http://static.youku.com/v1.0.0126/v/sw

linux网络编程-Socket编程,写了结束子进程的程序,但是运行起来有问题

问题描述 Socket编程,写了结束子进程的程序,但是运行起来有问题 在ubuntu上写的一个socket的程序,select并发的,当客户端断开,子进程要被结束,测试在ubuntu本地运行是没有问题的,同样的程序上传到服务器(CentOS)上,发现客户端关闭后,服务端没有办法结束生成的子进程,请问各位大大这是什么原因造成的啊... 出现问题的代码如下主函数中写了 signal(SIGCHLDsig_child); 函数实现如下: void sig_child(int signo) { pid_

求助安卓在eclipse上的真机模拟问题

问题描述 求助安卓在eclipse上的真机模拟问题 当在ecliose上写出程序并且进行真机模拟时候,检测不出有真机,我开了usb调试的!就显示Adb connnection error:远程主机强迫关闭了一个现有的连接!求助 解决方案 苹果真机模拟遇到的问题以及解决办法 解决方案二: 先把eclipse关掉,然后在cmd上写adb kill-server回车,再写adb start-server最后打开eclipse 解决方案三: 最好卸载手机上豌豆荚和手机卫士之类的应用,电脑上也是