android socket通信 创建线程接受 客户端

//声明量

   private String      IPaddress="192.168.1.120";

   private int         port =50003;

   private Handler mhandler =null;

   private String cc ="";

   private  TextView returnvalue;



//  动态接收数据

mhandler = new Handler(){

       public voidhandleMessage(Message msg)

       {

         if(msg.what== 1)

         {

            if(cc!=null||cc!="")

            {

              returnvalue.setText(cc);

              cc=null;

            }


         }

         super.handleMessage(msg);

       }

    };

//启动相关线程

    serverThread thread = new serverThread();

    thread.start();

// 创建并发送数据

  byte[] buf =  {(byte)0x55,(byte)0xAA};

       try {


       socket = newSocket(this.IPaddress,this.port);

         OutputStream out =socket.getOutputStream();

         OutputStreamWriter writer =new OutputStreamWriter(out);

         out.write(buf);

         writer.flush();

         Toast.makeText(PauseActivity.this,"成功",

              Toast.LENGTH_SHORT).show();

       } catch (UnknownHostExceptione) {

Toast.makeText(PauseActivity.this, "异常",

              Toast.LENGTH_SHORT).show();

         e.printStackTrace();

       } catch (IOException e) {

         e.printStackTrace();

       }



// 接受数据

  public class serverThread extendsThread  {

    publicvoid run() {

       while(!Thread.currentThread().isInterrupted()){

            if(socket==null)

            {

              try {

                 Thread.sleep(1000);

              } catch(InterruptedException e) {

                 // TODOAuto-generated catch block

                 e.printStackTrace();

              }

            }else

            {

                 try {

                   Thread.sleep(1000);

                   InputStreamips=socket.getInputStream();

                   InputStreamReader  in = new InputStreamReader(ips);

                   in.ready();

                   cc ="";

                   for(inti= 0 ;i<2 ;i++)

                   {

                      cc+=ips.read()+"-";

                   }


                 } catch(InterruptedException e) {

                   e.printStackTrace();

                 } catch(IOException e) {

                   e.printStackTrace();

                 }

                 Message msg = newMessage();

                  msg.what= 1;

                  mhandler.sendMessage(msg);

            }

       }

    }


   }


// 新人求关注


本文出自 “温少恒” 博客,转载请与作者联系!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。