Advertisement

Java入门案例:网络编程之UDP协议之发送和接收数据

阅读量:

发送方代码:

复制代码
 package Anli.UDP;

    
  
    
 import java.io.IOException;
    
 import java.net.DatagramPacket;
    
 import java.net.DatagramSocket;
    
 import java.net.InetAddress;
    
 import java.util.Scanner;
    
  
    
 public class case01send {
    
     public static void main(String[] args) throws IOException {
    
  
    
     Scanner sc = new Scanner(System.in);
    
     while(true) {
    
         //创建发送端的socket对象
    
         DatagramSocket ds = new DatagramSocket();
    
         //创建数据打包
    
         System.out.println("请输入信息:");
    
         String s = sc.nextLine();
    
         if(s.equals("886")){
    
             System.exit(0);
    
         }
    
         byte[] ss = sc.nextLine().getBytes();
    
         DatagramPacket dp = new DatagramPacket(ss, 0, ss.length, InetAddress.getByName("192.168.1.11"),10086);
    
         ds.send(dp);
    
         System.out.println("发送成功");
    
         ds.close();
    
     }
    
  
    
     }
    
 }
    
    
    
    
    代码解读

接收方代码:

复制代码
 package Anli.UDP;

    
  
    
 import java.io.IOException;
    
 import java.net.DatagramPacket;
    
 import java.net.DatagramSocket;
    
  
    
 public class case01receive {
    
     public static void main(String[] args) throws IOException {
    
     while(true) {
    
         //创建接收端socket对象
    
         DatagramSocket ds = new DatagramSocket(10086);
    
         //创建数据包用于接收数据
    
         byte[] bys = new byte[1024];
    
         DatagramPacket dp = new DatagramPacket(bys, bys.length);
    
         ds.receive(dp);
    
         String s = new String(dp.getData(),0, dp.getLength());
    
         System.out.println("数据是:" + s);
    
         //关闭接收端
    
         //ds.close();//死循环一直接收,所以关不关都可以
    
         System.out.println("接收成功");
    
     }
    
     }
    
 }
    
    
    
    
    代码解读

全部评论 (0)

还没有任何评论哟~