教科書を読んでいると、次のように見えます。
The first constructor:
public Datagrampacket (byte ibuf [], int ilength)
constructs a DatagramPacket for receiving packets of length ilength.
これは奇妙な言い回しですか、それとも DatagramPacket は実際にデータを送信するだけでなく受信しますか? DatagramPackets は、DatagramSockets 間で送信する情報を含む単なるクラスだといつも思っていました。