java利用udp實現發送數據
本文實例為大家分享了java利用udp實現發送數據的具體代碼,供大家參考,具體內容如下
1.udp的特點
數據以包的形式發送數據 udp是面向無連接的 udp會丟失數據,是一種不安全的連接 udp的傳輸速度較快2.發送端
package cn.uu710.SocketTest;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;public class Send1 { public static void main(String[] args) { try { DatagramSocket datagramSocket = new DatagramSocket(); String data = '這是張佑發送的消息!'; DatagramPacket datagramPacket = new DatagramPacket(data.getBytes(),data.getBytes().length,InetAddress.getLocalHost(),8088); //發送 System.out.println('正在準備發送……'); datagramSocket.send(datagramPacket); System.out.println('已發送……'); datagramSocket.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
3.接收端
package cn.uu710.SocketTest;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;import com.sun.org.apache.bcel.internal.generic.NEW;public class receive1 { public static void main(String[] args) { try { DatagramSocket datagramSocket = new DatagramSocket(8088); byte[] b = new byte[1024]; DatagramPacket datagramPacket = new DatagramPacket(b,b.length); System.out.println('正在準備接收……'); //未接收之前為阻塞狀態 datagramSocket.receive(datagramPacket); System.out.println('接收內容:'+new String(b,0,b.length)); System.out.println('已經接收……'); datagramSocket.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
4. 運行程序
先啟動接收端,再運行發送端啟動接收端后,程序并未停止,因為還未接收到消息
再啟動發送端,此時接收端成功接收到消息,之后程序停止
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: