本文实例讲述了androID开发socket编程之udp发送实现方法。分享给大家供大家参考。具体分析如下:
需要实现的功能:采用udp下的socket编程,当按下确认键,模拟器发送文本框数据,pc机上的网络调试助手接收
一、环境:
win7 + eclipse + sdk
二、代码:
package test.soket; //import com.test_button.R; import java.io.DataOutputStream; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.socket; import java.net.socketException; import java.net.UnkNownHostException; import androID.app.Activity; import androID.os.Bundle; import androID.vIEw.VIEw; import androID.Widget.button; import androID.Widget.TextVIEw; public class test_socket extends Activity { public static TextVIEw show; public static button press; public static boolean flag; private static final int MAX_DATA_PACKET_LENGTH = 40; private byte[] buffer = new byte[MAX_DATA_PACKET_LENGTH]; private DatagramPacket dataPacket; private DatagramSocket udpSocket; /** Called when the activity is first created. */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); //开辟控件空间 show = (TextVIEw)findVIEwByID(R.ID.editText1); press = (button)findVIEwByID(R.ID.button1); flag = false; //soket_send thread = new soket_send(); //thread.init(); //thread.start(); try { udpSocket = new DatagramSocket(5554); } catch (SocketException e) { // Todo auto-generated catch block e.printstacktrace(); } dataPacket = new DatagramPacket(buffer,MAX_DATA_PACKET_LENGTH); String str = "hello,jdh"; //这是要传输的数据 byte out [] = str.getBytes(); //把传输内容分解成字节 dataPacket.setData(out); dataPacket.setLength(out.length); dataPacket.setPort(5554); try { InetAddress broadcastAddr = InetAddress.getByname("192.168.0.248"); dataPacket.setAddress(broadcastAddr); udpSocket.send(dataPacket); } catch (IOException e) { // Todo auto-generated catch block e.printstacktrace(); } press.setonClickListener(new button.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { flag = true; /* String str = "hello,jdh"; //这是要传输的数据 byte out [] = str.getBytes(); //把传输内容分解成字节 dataPacket.setData(out); dataPacket.setLength(out.length); */ //获得输入框文本 CharSequence str =test_socket.show.getText(); byte out[] = str.toString().getBytes(); dataPacket.setData(out); dataPacket.setLength(out.length); try { InetAddress broadcastAddr = InetAddress.getByname("192.168.0.248"); dataPacket.setAddress(broadcastAddr); udpSocket.send(dataPacket); } catch (IOException e) { // Todo auto-generated catch block e.printstacktrace(); } } }); } }
界面如下:
注意:在模拟器IP为本机IP,端口为模拟器名称
希望本文所述对大家的AndroID程序设计有所帮助。
总结以上是内存溢出为你收集整理的android开发socket编程之udp发送实例分析全部内容,希望文章能够帮你解决android开发socket编程之udp发送实例分析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)