Android Socket通信

1 简介

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

2 Socket 和 SocketServer  

   socket作为客户端,SocketServer作为服务端,通常由Socketserver实例调用accpt方法来监听Socket是否连接,如果连接则accpt方法返回Socket对象  ,数据以流的方式进行传输。

3 运用

与wifi模块连接

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

/*线程可以通过三种方式创建

  1 继承 Thread 

  2 继承Runable

  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();}

}   

    

转载于:https://my.oschina.net/u/3768017/blog/1791929

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值