Android编程实现TCP、UDP客户端通信功能示例
本文实例讲述了Android编程实现TCP、UDP客户端通信功能。分享给大家供大家参考,具体如下:
在进行Android开发的过程中,免不了,要开发TCP/UDP通讯的程序,下面这两段代码,分别介绍了TCP/UCP通过的一个实例:
代码一TCP通讯:
privatevoidtcpdata(){
try{
Sockets=newSocket("192.168.0.25",65500);
//outgoingstreamredirecttosocket
OutputStreamout=s.getOutputStream();
//注意第二个参数据为true将会自动flush,否则需要需要手动操作out.flush()
PrintWriteroutput=newPrintWriter(out,true);
output.println("HelloIdeasAndroid!伪IP为:"
+SIMCardToIP("13512345006"));
InputStreaminputStream=s.getInputStream();
DataInputStreaminput=newDataInputStream(inputStream);
byte[]b=newbyte[10000];
intlength=input.read(b);
inputReader=newInputStreamReader(inputStream);
StringMsg=newString(b,0,length,"gb2312");
Toast.makeText(TcpTest.this,Msg,1000).show();
Log.d("TcpDemo","messageFromServer:"+Msg);
s.close();
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
下面的代码是UDP通讯的过程:
publicStringsend(Stringmsg){
StringBuildersb=newStringBuilder();
InetAddresslocal=null;
try{
local=InetAddress.getByName("192.168.0.25");//本机测试
}catch(UnknownHostExceptione){
e.printStackTrace();
}
try{
dSocket=newDatagramSocket();//注意此处要先在配置文件里设置权限,否则会抛权限不足的异常
}catch(SocketExceptione){
e.printStackTrace();
}
intmsg_len=msg==null?0:msg.length();
DatagramPacketdPacket=newDatagramPacket(msg.getBytes(),msg_len,
local,SERVER_PORT);
try{
dSocket.send(dPacket);
}catch(IOExceptione){
e.printStackTrace();
}
try{
dSocket.receive(dPacket);
sb.append(newString(dPacket.getData()));
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
dSocket.close();
returnsb.toString();
}
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android通信方式总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。