dataserver.java

来自「JAVA的一些基础教程」· Java 代码 · 共 50 行

JAVA
50
字号
import java.io.*;
import java.net.*;

class Person{
        int 年龄;
        boolean 性别;
        String 姓名;

        public Person(String name,int age, boolean gender){
                年龄= age;
                性别 = gender;
                姓名 = name;
        }

        public String toString(){
                return "Person:"+姓名 + " 今年 " + 年龄 ;
        }

}

class DataServer{
        //先读取一个字符串,然后再读四个字节的整数,最后是布耳类型
        public static void 解析数据(byte bytes[]) throws Exception{
                ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
                DataInputStream dis = new DataInputStream(bis);
                String 姓名 = dis.readUTF();
                int 年龄 = dis.readInt();
                boolean 性别 =dis.readBoolean();
                Person person = new Person(姓名,年龄,性别);
                System.out.println("服务器收到一个Person对象" + person + "\n");
        }

        public static void main(String arg[]) throws Exception{
                DatagramSocket 服务端 = new DatagramSocket(2000);
                System.out.println("绑定本机器的2000端口");
                byte bytes[] = new byte[1024];
                DatagramPacket 客户端数据包 = new DatagramPacket(bytes,bytes.length);

                //先读取一个字节的数据作为后面数据的长度
                while(true){
                        服务端.receive(客户端数据包);
	       System.out.println("从机器:"+ 客户端数据包.getAddress() + " 端口 " +  客户端数据包.getPort());
                        System.out.println("接受到一个数据包");

                        byte 数据体[] = 客户端数据包.getData();
                        解析数据(数据体);
                }
        }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?