Android Socket通讯

1 简介网络

    Socket 套接字节 ,是基于TCP/IP 协议 传输层封装 ,做用:做为网络层和应用层的纽带socket

2 Socket 和 SocketServer  this

   socket做为客户端,SocketServer做为服务端,一般由Socketserver实例调用accpt方法来监听Socket是否链接,若是链接则accpt方法返回Socket对象  ,数据以流的方式进行传输。.net

3 运用线程

与wifi模块链接server

注意:IP地址不可为虚拟机IP,客户端和服务端监听得端口必须一致,数据处理通常在线程中处理对象

/*线程能够经过三种方式建立继承

  1 继承 Thread get

  2 继承Runableinput

  3 直接经过线程池建立TheadPool

*/

//客户端

public class   SocketClinet extends Thread{

//数据流操做对象

private InputStream input;

private outPutStream output;

//网络链接套字节

private Socket socket;

//Android消息对象 用于处理UI线程与子线程的数据更新

private Handler hcline;

public  SocketClinet(Handler  hand,Socket s){

this.hcline=hand;

this.socket =s;

}

@overwrite

public void run{

//循环处理消息

try

{

while(true)

{

//socket不为空便是已链接

     if(socket!=null)

    {

    input=socket.getInputStream();

   out=socket.getoutputStream();

//读取数据   

byte  [] data=new byte [1024];

   int len=input.read(data);

//向UI传输数据

//what为标识  obj为数据

   hcline.SendMessage(hcline.obtrinMessage(what:23,len,-1,obj:data));

//判断输出流是否为空 不为空则发送小段数据做为心跳包 用于保持链接

if(output!=null)

{

output.write(24);

output.flush();

}    

}

}

}

catch(Eception e)

{

e.printStrak();}

}   

相关文章
相关标签/搜索