• 会员登陆 | 会员注册
  • 返回首页
    当前位置: 淮北教育 > 淮北中学 >

    PC客户端与Android服务端的Socket同步通信(US

    时间:2013-03-30 18:39来源:未知 作者:admin 点击:
    难点分析: lient.java android端的代码:ServiceBroadcastReceiver.java 不过,我发现LG GW880就没有,要去下载个 客户端(pc端): 浏览全文(70) | 发表评论 | 阅读评论(0) 3.1集装箱进仓库,PETG板材今天1到就先发出1托 (2013/03/01 21:48) 标签: PC板材
      

    难点分析:

    lient.java

    android端的代码:ServiceBroadcastReceiver.java

    不过,我发现LG GW880就没有,要去下载个

    客户端(pc端):

    浏览全文(70) | 发表评论 | 阅读评论(0) 3.1集装箱进仓库,PETG板材今天1到就先发出1托 (2013/03/01 21:48) 标签: PC板材先生 周剑敏 摘要: 供方:上海谦威材料科技有限公司 地址:上海青浦区徐泾镇沪青平公路1360弄东方明珠花园别墅173号 电话:传真: 联系人:周剑敏zhoujm365@ 卞小姐 供方:上海谦威材料科技有限公司 地址:上海青浦区徐泾镇沪青平公路1360弄东方明珠

    pc端命令:

    3.要想联通PC与android手机的sokcet,一定要用adb forward 来作下端口转发才能连上socket.

    9.还要让***端可以同时连接多个client,即***端用new thread()来作数据读取*作。

    2.PC端程序,作为socket的客户端,用于给android手机端发*作命令

    android端接收数据的代码:

    源码:

    7.socket在out.w**te(bytes);时,要是数据太大时,超过socket的缓存,socket自动分包发送,所以对方就一定要用循环来多次读。最好的办法就是***和客户端协议好,比如发文件时,先写过来一个要发送的文件的大小,PC肌灵活性检测,**再发送文件;对方用这个大小,来循环读取数据。

    浏览全文(56) | 发表评论 | 阅读评论(0) 2.26下午 去南京西路中信泰富--伊士曼 (2013/02/26 23:12) 标签: PC板材先生 周剑敏 PETG PETG板材 摘要:2.26下午 去南京西路中信泰富--伊士曼。 为世化PETG板材去拜访发明者,呵呵。 1920年乔治.伊士曼创建伊士曼柯达公司,对就是照相机,胶卷的 柯达1994年伊士曼化工脱离伊士曼柯达,成为**的上市法人公司 ,目前是全球50强化工集团之一。 还好退离早,否则受柯达破产影响更大。 很久很久以前也经常去中信广场拿PETG板材, 这几年,好像是

    public void run() { Log.d(androidService.TAG, Thread.c**rentThread().getName()a client has connected to ******! ); BufferedOutputS**eam out; BufferedInputS**eam in; **y { /* PC端发来的数据msg */ S**ing c**r**D = ; out = new BufferedOutputS**eam(client.getOutputS**eam()); in = new BufferedInputS**eam(client.getInputS**eam()); // ****Socket();// 测试socket方法 androidService.ioThreadFlag = **ue; while (androidService.ioThreadFlag) { **y { if (!client.isConnected()) { break; } /* 接收PC发来的数据 */ Log.v(androidService.TAG, Thread.c**rentThread().getName()will read); /* 读*作命令 */ c**r**D = read**DFromSocket(in); Log.v(androidService.TAG, Thread.c**rentThread().getName()**c**r**D ====c**r**D); /* 根据命令分别处理数据 */ if (c**r**D.equals( 1 )) { out.w**te( OK .getBytes()); out.flush(); } else if (c**r**D.equals( 2 )) { out.w**te( OK .getBytes()); out.flush(); } else if (c**r**D.equals( 3 )) { out.w**te( OK .getBytes()); out.flush(); } else if (c**r**D.equals( 4 )) { /* 准备接收文件数据 */ **y { out.w**te( ******* receive OK .getBytes()); out.flush(); } catch (IOException e) { e.p**ntStackTrace(); } /* 接收文件数据,4字节文件长度,4字节文件格式,其后是文件数据 */ byte[] filelength = new byte[4]; byte[] fileformat = new byte[4]; byte[] filebytes = null; /* 从socket流中读取完整文件数据 */ filebytes = receiveFileFromSocket(in, out, filelength, fileformat); // Log.v(Service139.TAG, receive data =new // S**ing(filebytes)); **y { /* 生成文件 */ File file = FileHelper.newFile( R .JPG ); FileHelper.w**teFile(file, filebytes, 0, filebytes.length); } catch (IOException e) { e.p**ntStackTrace(); } } else if (c**r**D.equals( exit )) { } } catch (Exception e) { // **y { // out.w**te( error .getBytes( utf-8 )); // out.flush(); // } catch (IOException e1) { // e1.p**ntStackTrace(); // } Log.e(androidService.TAG, Thread.c**rentThread().getName()read w**te error ); } } out.close(); in.close(); } catch (Exception e) { Log.e(androidService.TAG, Thread.c**rentThread().getName()read w**te error ); e.p**ntStackTrace(); } finally { **y { if (client != null) { Log.v(androidService.TAG, Thread.c**rentThread().getName()client.close() ); client.close(); } } catch (IOException e) { Log.e(androidService.TAG, Thread.c**rentThread().getName()read w**te error ); e.p**ntStackTrace(); } }

    8.socket的最重要的机制就是读写采用的是阻塞的方式,如果客户端作为命令发起者,***端作为接收者的话,只有当客户端client用out.w**ter()写到输出流里后,即流中有数据*******的read才会执行,不然就会一直停在read()那里等数据。

    Runtime.getRuntime().exec( adb forward tcp: tcp: ); Thread.sleep(3000);

    android的代码:

    Runtime.getRuntime().exec( adb shell am broadcast -a NotifyServiceStart );

    浏览全文(106) | 发表评论 | 阅读评论(0) 2.27 晚上 整理 世化PETG 样品 (2013/02/27 22:33) 标签: PC板材先生 周剑敏 PETG板材 世化 韩国世化 世化PETG板材 艾斯普力特PETG板 摘要:2.27今天世化PETG板材 A4样品韩国总算是寄到了, 晚上整理PETG样品。 今天集装箱税金也交了,应该明天或者后天3.1就可以送进上海仓库啦, 还是上海北青公路730弄, 老仓库地址没变。

    import java.io.BufferedInputS**eam; import java.io.BufferedOutputS**eam; import java.io.BufferedReader; import java.io.ByteArrayOutputS**eam; import java.io.IOException; import java.io.InputS**eam; import java.io.InputS**eamReader; import Address; import .Socket; import .UnknownHostException; public class lient { /** * @param args * @throws InterruptedException */ public static void main(S**ing[] args) throws InterruptedException { **y { Runtime.getRuntime().exec( adb shell am broadcast -a NotifyServiceStop ); Thread.sleep(3000); Runtime.getRuntime().exec( adb forward tcp: tcp: ); Thread.sleep(3000); Runtime.getRuntime().exec( adb shell am broadcast -a NotifyServiceStart ); Thread.sleep(3000); } catch (IOException e3) { e3.p**ntStackTrace(); } Socket socket = null; **y { Address ******Addr = null; ******Addr = Address.getByName( 127.0.0.1 ); ******.out.p**ntln( TCP 1111C: Connecting); socket = new Socket(******Addr, ); S**ing s** = hi,wufenglong ; ******.out.p**ntln( TCPC:RECEIVE ); BufferedOutputS**eam out = new BufferedOutputS**eam(socket .getOutputS**eam()); BufferedInputS**eam in = new BufferedInputS**eam(socket .getInputS**eam()); BufferedReader br = new BufferedReader(new I

    1.手机一定要有adb模式,即插上U**线时马上提示的对话框选adb。好多对手机的*作都可以用adb直接作。

    浏览全文(93) | 发表评论 | 阅读评论(0) 关于透明2毫米PC 真正能达到V0 是Lexan F2500 这款材料 (2013/02/23 20:19) 标签: PC板材先生 周剑敏 V0阻燃PC板材 FR099 F2000 F2500 摘要:你好 感谢咨询! 关于透明 2毫米PC 真正能达到V0 是Lexan- F2500 这款材料, 其它FR099, F2000都是3毫米才达到V0阻燃。 我把国内目前通用的 FR099, F2000, F2500, V0阻燃的这3款型号都发给你参考下,详见附件压缩包。 另目前**尺寸 价格如下 1, 拜耳FR099, 尺寸2mm*2050*3050mm, **;

    浏览全文(163) | 发表评论 | 阅读评论(0) 供应目录视图摘要视图订阅2013年7月微软MVP申请开始啦! 专访许长敬之移动互联网 有奖征集活动系列—《iOS游戏编程之旅》
    【有奖提问】CSDN论坛第1期专家问答开始 来极客头条,推荐你的博客 下载频道3月领任务~赚下载分PC客户端与Android服务端的Socket同步通信(U**) 分类: android 17:23 人阅读评论(111)收藏举报socketandroidby******ngexception*******

    需求:

    浏览全文(105) | 发表评论 | 阅读评论(0) 2.20今天接了600*600扩散PC片材4200片 (2013/02/20 23:09) 标签: PC板材先生 周剑敏 世化PC扩散 LH0555E PETG板材 世化PETG板材 摘要:2.20今天接了600*600扩散PC片材4200片, 世化LH0555E型号 PC扩散板材1.5*1220*2440*525张, 应用于LED平板灯。 总算捂出2个 小鸡以前能**出1美,就能再开拓出2美,3美开拓客户,就能生存! 元月第1周开单居然是PC扩散板材。 今年努力开拓PETG板材市场PC客户端与Android服务端的Socket同步通信(US。 周

    4.android端的*******程序Install到手机上容易,但是还要有方法来从PC的client端来启动手机上的******* ,这个办法可以通过PC端adb命令来发一个Broastcast ,手机端再写个接收BroastcastReceive来接收这个Broastcast,在这个BroastcastReceive来启动*******

    6.如果是在PC端和android端的读写*作来while(**ue){}循环,这样socket流的结尾不好判断,不能用 -1 来判断,因为 -1 是只有在socket关闭时才作为判断结尾。

    2.android默认手机端的IP为 127.0.0.1

    .othe**.*******; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class ServiceBroadcastReceiver extends BroadcastReceiver { p**vate static S**ing START_ACTION = NotifyServiceStart ; p**vate static S**ing STOP_ACTION = NotifyServiceStop ; @Over**de public void onReceive(Context context, Intent intent) { Log.d(androidService.TAG, Thread.c**rentThread().getName()ServiceBroadcastReceiver onReceive ); S**ing action = intent.getAction(); if (START_ACTION.equalsIgnoreCase(action)) { context.startService(new Intent(context, androidService.class)); Log.d(androidService.TAG, Thread.c**rentThread().getName()ServiceBroadcastReceiver onReceive start end ); } else if (STOP_ACTION.equalsIgnoreCase(action)) { context.stopService(new Intent(context, androidService.class)); Log.d(androidService.TAG, Thread.c**rentThread().getName()ServiceBroadcastReceiver onReceive stop end ); } } }

    1.一个android端的*******后*运行的程序,作为socket的***端;用于接收Pc client端发来的命令淮北中学,来处理数据后,把结果发给PC client

    5.由于是U**连接,所以socket就可以设计为一但连接就一直联通,即在new socket和开完out,in流后,就用个while(**ue){}来循环PC端和android端的读和写

    还看到唐国强啊 ,冯小刚战争片, 冯小刚也弄电视剧啦。

    /** * 功能:从socket流中读取完整文件数据 * * InputS**eam in:socket输入流 * * byte[] filelength: 流的前4个字节存储要转送的文件的字节数 * * byte[] fileformat:流的前5-8字节存储要转送的文件的格式(如.apk) * * */ public static byte[] receiveFileFromSocket(InputS**eam in, OutputS**eam out, byte[] filelength, byte[] fileformat) { byte[] filebytes = null;// 文件数据 **y { int filelen = MyUtil.bytesToInt(filelength);// 文件长度从4字节byte[]转成Int S**ing s**tmp = read file length ok:filelen; out.w**te(s**tmp.getBytes( utf-8 )); out.flush(); filebytes = new byte[filelen]; int pos = 0; int rcvLen = 0; while ((rcvLen = in.read(filebytes, pos, filelenpos)) 0) { pos += rcvLen; } Log.v(androidService.TAG, Thread.c**rentThread().getName()read file OK:file size=filebytes.length); out.w**te( read file ok .getBytes( utf-8 )); out.flush(); } catch (Exception e) { Log.v(androidService.TAG, Thread.c**rentThread().getName()receiveFileFromSocket error ); e.p**ntStackTrace(); } ret**n filebytes; }

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    最新评论 查看所有评论
    发表评论 查看所有评论
    请自觉遵守互联网相关的政策法规,严禁发布违法言论!
    用户名: 密码: 验证码: