程序如下:import java.io.*;
import java.net.*;
import java.util.*;public class UDPClient {    public UDPClient() {
    }
    
    public static void main(String[] args) throws IOException  {
        try{
            args = new String[4];
            args[0] = "192.168.5.103";    
            DatagramPacket packet = null;
            
            DatagramSocket socket = new DatagramSocket();
            Byte buf[] = new Byte[265];            
            InetAddress address = InetAddress.getByName(args[0]);
            System.out.print(buf.length);
            packet = new DatagramPacket(buf, buf.length, address, 4445);
            
            socket.send(packet);
            
            packet = new DatagramPacket(buf, buf.length);
            
            socket.receive(packet);
            String re = new String(packet.getData());
            
            System.out.print(re);
        } catch (UnknownHostException e){
            System.out.print(e);
        }
    }
}抱错:Lession/lesson1/UDPClient.java [35:1] cannot resolve symbol
symbol  : constructor DatagramPacket (java.lang.Byte[],int,java.net.InetAddress,int)
location: class java.net.DatagramPacket
            packet = new DatagramPacket(buf, buf.length, address, 4445);
                     ^
Lession/lesson1/UDPClient.java [39:1] cannot resolve symbol
symbol  : constructor DatagramPacket (java.lang.Byte[],int)
location: class java.net.DatagramPacket
            packet = new DatagramPacket(buf, buf.length);
                     ^
2 errors
编译  UDPClient. 时出错
为什么?怎么改?

解决方案 »

  1.   


    import java.io.*;
    import java.net.*;
    import java.util.*;public class UDPClient {    public UDPClient() {
        }    public static void main(String[] args) throws IOException {
            try {
                args = new String[4];
                args[0] = "192.168.5.103";
                DatagramPacket packet = null;            DatagramSocket socket = new DatagramSocket();
                byte buf[] = new byte[265];////here, not Byte, but byte.
                InetAddress address = InetAddress.getByName(args[0]);
                System.out.print(buf.length);
                packet = new DatagramPacket(buf, buf.length, address, 4445);            socket.send(packet);            packet = new DatagramPacket(buf, buf.length);            socket.receive(packet);
                String re = new String(packet.getData());            System.out.print(re);
            } catch (UnknownHostException e) {
                System.out.print(e);
            }
        }
    }