1. 程式人生 > 程式設計 >Java實現UDP互發訊息

Java實現UDP互發訊息

本文例項為大家分享了Java實現UDP互發訊息的具體程式碼,供大家參考,具體內容如下

UDP的傳送端

package udp;
/**
UDP傳送端
*/
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;

public class UdpClient {
 public static void main(String[] args) throws IOException {
  System.out.println("傳送方啟動中......");
  //使用DatagramSocket指定埠,建立傳送端
  DatagramSocket client = new DatagramSocket(8888);
  //準備資料,轉換為位元組陣列
  String data ="帥哥";
  byte[] datas = data.getBytes();
  //封裝成DatagramPacket包裹,需要指定目的地
  DatagramPacket packet = new DatagramPacket(datas,datas.length,new InetSocketAddress("localhost",9999));
  //傳送包裹send(DatagramPacket p)
  client.send(packet);
  //釋放資源
  client.close();
 }
}

UDP的接收端

package udp;
/**
UDP接收端
*/
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UdpServer {
 public static void main(String[] args) throws IOException {
  System.out.println("接收方啟動中......");
  //使用DatagramSocket指定埠建立接收端,埠值要與客戶端的傳送包裹一致
  DatagramSocket server =new DatagramSocket(9999);
  //準備容器封裝成DatagramPacket包裹
  byte[] container = new byte[1024*60];
  DatagramPacket packet = new DatagramPacket(container,container.length);
  //阻塞式
  server.receive(packet);
  byte[] datas = packet.getData();
  int len=packet.getLength();
  System.out.println(new String(datas,len));
  server.close();
 }
}

注意:在Intellij idea中執行時,要先把兩個端的平行執行設定開啟,不然每次只能打開發送端或者接收端,不能同時開啟,具體操作如下:

Java實現UDP互發訊息

Java實現UDP互發訊息

最後,執行結果如下:

Java實現UDP互發訊息

Java實現UDP互發訊息

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。