[Java]Android发送UDP数据包
2015-02-02 14:06
316 查看
首先是Android端,先创建一个内部类UDP,继承Thread类,在run方法中完成数据包的发送操作;在onCreate()方法中创建并执行该内部类的实例(多线程)实现数据包发送。
代码段如下:
注意事项:
1.要记得给应用添加 android.permission.INTERNET 权限,否则在 DatagramSocket clientSocket = new DatagramSocket(); 处会抛出SocketException 异常;
2.不能在onCreate()方法中直接发送数据包,而要通过创建新线程来执行,否则会抛出 NetworkOnMainThreadException 异常。
代码段如下:
public class Udp extends Thread { private String dataString; public Udp(String dataString) { this.dataString = dataString; } public void run() { try { DatagramSocket clientSocket = new DatagramSocket(); InetAddress ipAddr = InetAddress.getByName("192.168.99.35"); byte[] sendData = dataString.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, ipAddr, 32768); clientSocket.send(sendPacket); clientSocket.close(); } catch (SocketException e) { e.printStackTrace(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btnTest = (Button) findViewById(R.id.button1); final EditText tvOut = (EditText) findViewById(R.id.editText1); btnTest.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub String str = tvOut.getText().toString(); new Udp(str).start(); } }); }
注意事项:
1.要记得给应用添加 android.permission.INTERNET 权限,否则在 DatagramSocket clientSocket = new DatagramSocket(); 处会抛出SocketException 异常;
2.不能在onCreate()方法中直接发送数据包,而要通过创建新线程来执行,否则会抛出 NetworkOnMainThreadException 异常。
相关文章推荐
- Android使用wifi通过UDP协议发送广播数据包给PC接收不到问题解决方法
- java发送接收组播(多播)数据包(UDP包)
- android 发送UDP包和java应用程序来接听
- Android(java)学习笔记80:UDP协议发送数据
- java发送接收UDP数据包:字符串,byte[]字节数组,文件等
- tcp和udp能否发送0字节的数据包
- TCP和UDP 协议发送数据包的大小
- 使用SharpPcap发送虚假构造的伪IP的UDP数据包
- Windows环境下实现原始UDP数据包发送
- 用winpcap发送UDP数据包
- Android 开发技巧之Log发送UDP报文,Socket编程
- android编程3:socket编程之udp发送
- UDP数据包一次发送多大为好
- udp的数据包一次发送多大为好
- javaUDP实现向飞秋发送信息
- Java UDP 接收发送[CODE]
- JAVA中UDP 接受与发送数据的初步步骤
- 发送udp数据包
- 使用SharpPcap发送虚假构造的伪IP的UDP数据包
- TCP,UDP发送数据包大小浅析