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