java利用udp實現(xiàn)發(fā)送數(shù)據(jù)
本文實例為大家分享了java利用udp實現(xiàn)發(fā)送數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下
1.udp的特點
數(shù)據(jù)以包的形式發(fā)送數(shù)據(jù) udp是面向無連接的 udp會丟失數(shù)據(jù),是一種不安全的連接 udp的傳輸速度較快2.發(fā)送端
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 = '這是張佑發(fā)送的消息!'; DatagramPacket datagramPacket = new DatagramPacket(data.getBytes(),data.getBytes().length,InetAddress.getLocalHost(),8088); //發(fā)送 System.out.println('正在準備發(fā)送……'); datagramSocket.send(datagramPacket); System.out.println('已發(fā)送……'); 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('正在準備接收……'); //未接收之前為阻塞狀態(tài) datagramSocket.receive(datagramPacket); System.out.println('接收內(nèi)容:'+new String(b,0,b.length)); System.out.println('已經(jīng)接收……'); datagramSocket.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
4. 運行程序
先啟動接收端,再運行發(fā)送端啟動接收端后,程序并未停止,因為還未接收到消息
再啟動發(fā)送端,此時接收端成功接收到消息,之后程序停止
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
