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程序设计有所帮助。