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);
}
}
}
}
// 新人求关注
本文出自 “温少恒” 博客,转载请与作者联系!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。