- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackets.java
More file actions
Latest commit
43 lines (33 loc) · 1.23 KB
/
Copy pathPackets.java
File metadata and controls
43 lines (33 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
importjavax.xml.crypto.Data;
importjava.net.DatagramPacket;
importjava.net.InetAddress;
importjava.net.UnknownHostException;
/**
* Created by mandeep on 8/9/14.
*/
publicclassPackets {
InetAddressTFTPServerIP;
Packets(Stringip) throwsUnknownHostException {
this.TFTPServerIP = InetAddress.getByName(ip);
}
// Construct new read packet for given filename.
publicDatagramPacketgetReadPacket(StringfileName){
byte [] packet = newbyte[fileName.length() + 20];
intlengthFileName = fileName.length();
StringpayLoad = "01" + fileName + "0octet0";
packet = payLoad.getBytes();
packet[0] = 0;
packet[1] = 1;
packet[lengthFileName + 2] = 0;
packet[lengthFileName + 8] = 0;
// TFTP listens at port 69.
returnnewDatagramPacket(packet, packet.length, TFTPServerIP, 69);
}
// Get acknowledgement for packet.
publicDatagramPacketgetACK(DatagramPacketpacket){
byte [] packetData = packet.getData();
// Construct ACK for packet ID read from packet itself.
byte [] ack = {0, 4, packetData[2], packetData[3]};
returnnewDatagramPacket(ack, ack.length, TFTPServerIP, packet.getPort());
}
}