Java 不显示接收数据报数据包

Java 不显示接收数据报数据包,java,network-programming,datagram,Java,Network Programming,Datagram,我试图制作一个小型java程序,使用DatagramServer和DatagramPacket将文本消息从服务器写入客户端 这是我在服务器和客户端部分编写的代码 serverm.java byte b[] = new byte[1200]; System.out.println("Enter some text"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Stri

我试图制作一个小型java程序,使用
DatagramServer
DatagramPacket
将文本消息从服务器写入客户端

这是我在服务器和客户端部分编写的代码

serverm.java

byte b[] = new byte[1200];
    System.out.println("Enter some text");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String inputMessage = br.readLine();
    b = inputMessage.getBytes();

    DatagramSocket d = new DatagramSocket(6125);
    DatagramPacket p = new DatagramPacket(b,i,InetAddress.getLocalHost(),5461);
    d.send(p);
byte b[] = new byte[1024];
    try
    {
        DatagramSocket d = new DatagramSocket(5461);
        DatagramPacket p = new DatagramPacket(b,1024);
        d.receive(p);

        String outputMessage = new String(p.getData(),0,p.getLength());
        System.out.println(outputMessage);
    }
clientm.java

byte b[] = new byte[1200];
    System.out.println("Enter some text");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String inputMessage = br.readLine();
    b = inputMessage.getBytes();

    DatagramSocket d = new DatagramSocket(6125);
    DatagramPacket p = new DatagramPacket(b,i,InetAddress.getLocalHost(),5461);
    d.send(p);
byte b[] = new byte[1024];
    try
    {
        DatagramSocket d = new DatagramSocket(5461);
        DatagramPacket p = new DatagramPacket(b,1024);
        d.receive(p);

        String outputMessage = new String(p.getData(),0,p.getLength());
        System.out.println(outputMessage);
    }

当运行java程序时,它在服务器向客户端发送消息时运行—收到的消息只打印空行。如何获取要显示的字符串?

当我将服务器中的“i”变量设置为0时,我能够重现您的问题


确保该值是您发送的数据包的长度。

谢谢。我忘记将字符串长度更新为变量
I