通过UDP设计学生和老师的聊天系统

通过UDP设计学生和老师的聊天系统
        package com.UDPConnect;
        //老师端(客服端)
        import java.io.IOException;
        import java.net.*;
        import java.util.Scanner;
        public class ResciveDemo {
            public static void main(String[] args) {
                DatagramSocket datagramSocket = null;
                System.out.println("老师上线了。。。");
                while (true){
                    try {
                        datagramSocket = new DatagramSocket(9999);
                        byte []bytes = new byte[1024];
                        //填充空包
                        DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length);
                        //进行回复
                        datagramSocket.receive(datagramPacket);
                        //接收数据
                        byte []data= datagramPacket.getData();
                        String str = new String(data,0,datagramPacket.getLength());
                        if(str.equals("Buy")){
                            System.out.println("亲爱的老师,您的学生已经下线了");
                            break;
                        }
                        System.out.print("学生对我说:"+str);
                        //进行回复:
                        Scanner sc = new Scanner(System.in);
                        String next = sc.next();
                        String str1 = next;
                        byte []bytes1 =str1.getBytes();
                        DatagramPacket datagramPacket1 = new DatagramPacket(bytes1,bytes1.length, InetAddress.getByName("localhost"),8888);
                        datagramSocket.send(datagramPacket1);

                    } catch (UnknownHostException e) {
                        e.printStackTrace();
                    } catch (SocketException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }finally {
                        if (datagramSocket!=null){
                            datagramSocket.close();
                        }
                    }
                }


            }
        }

        package com.UDPConnect;
        //学生端(用户端)
        import java.io.IOException;
        import java.net.*;
        import java.util.Scanner;

        public class SendDemo {
            public static void main(String[] args) {
                DatagramSocket datagramSocket = null;
                System.out.println("学生上线了。。。");
                //借用套接字,设定端口号
                while (true){
                    try {
                        datagramSocket = new DatagramSocket(8888);
                        //准备要发送的数据包
                        Scanner sc = new Scanner(System.in);
                        System.out.print("学生说:");
                        String next = sc.next();
                        String str = next;
                        byte []bytes =str.getBytes();
                        DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length, InetAddress.getByName("localhost"),9999);
                        datagramSocket.send(datagramPacket);
                        if(str.equals("Buy")){
                            break;
                        }
                        //进行接收老师的回复
                        byte []bytes1 = new byte[1024];
                        //填充空包
                        DatagramPacket datagramPacket1 = new DatagramPacket(bytes1,bytes1.length);
                        datagramSocket.receive(datagramPacket1);
                        byte []data= datagramPacket1.getData();
                        String str1 = new String(data,0,datagramPacket1.getLength());
                        System.out.println("老师回复对我说:"+str1);
                    } catch (UnknownHostException e) {
                        e.printStackTrace();
                    } catch (SocketException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }finally {if(datagramSocket!=null){
                        datagramSocket.close();
                    }
                }
                }
            }
        }

posted @ 2022-04-21 11:30  爱豆技术部  阅读(73)  评论(0)    收藏  举报