UDP data tranmission?
I have a SNTP client Pro.£¬It needs send 48byte data packet to SNTP server¡£But "Timeout" appear when I runnig it£¬is the udp data type wrong£¿
DatagramSocket so = new DatagramSocket(13);
so.setSoTimeout(8000);
int clientms[] = new int[48];
clientms[0]=0x23; //the first 8 bit'00100011' means it's a client
,VISION 4;
byte[] data = new byte[48]; //sntp message has 48 byte;
for (int i=0;i<48;i++) {
data[i] = (byte) clientms[i]; //int array convert to byte array
System.out.print(data[i]+" ");
}
DatagramPacket packet = new DatagramPacket(data,data.length,
InetAddress.getByName(machine),daytimeport);
so.send(packet);
packet.setData(new byte[48]);
so.receive(packet); //If server response£¬the it return 48byte data
String inMessage=new String(packet.getData(),0,data.length);
System.out.println("received message: "+ inMessage);
so.close();
|