网络编程:10(UDP聊天实现)

UDP聊天实现

  • UDP聊天

    • 发送方;

    • 接收方;

     

 

  • 发送方:

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetSocketAddress;
    ​
    /**
    * 发送方:
    *
    *
    */
    public class UdpSenderDemo01 {
       public static void main(String[] args) throws Exception{
    ​
           DatagramSocket socket = new DatagramSocket(8888);
    ​
           //准备数据:控制台读取
           BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    ​
           while(true){
               String data=reader.readLine();
               byte[] datas=data.getBytes();
    ​
               DatagramPacket packet=new DatagramPacket(datas,0,datas.length,
                       new InetSocketAddress("localhost",6666));
    ​
               socket.send(packet);
               if(data.equals("bye")){
                  break;
              }
          }
    ​
    ​
           socket.close();
    ​
      }
    }
    ​

     

  • 接收方:

    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    ​
    /**
    * 接收方:
    *
    */
    public class UdpReceivedDemo01 {
       public static void main(String[] args) throws Exception {
    ​
    ​
           DatagramSocket socket = new DatagramSocket(6666);
    ​
    ​
           while (true) {
    ​
               //准备接收包裹:
               byte[] container = new byte[1024];
               DatagramPacket packet=new DatagramPacket(container,0,container.length);
               socket.receive(packet);//阻塞式接收包裹
    ​
               //断开连接
               byte[] data = packet.getData();
               String receivedData=new String(data,0,data.length);
    ​
               System.out.println(receivedData);
               if(receivedData.equals("bye")){
                   break;
              }
    ​
          }
    ​
           socket.close();
    ​
      }
    }

 

 

 

posted @ 2022-03-13 19:14  gzs1024  阅读(81)  评论(0)    收藏  举报