LinkedList<DatagramPacket> queue = new LinkedList<DatagramPacket>();
for (int i = 0; i < queue.size(); i++)
{
System.out.println("1: This prints.");
System.out.println("2: This doesn't: " + new String(queue.get(i).getData()));
int start = (new String(queue.get(i).getData())).indexOf("\r\n") + "\r\n".length();
data.concat(new String(queue.get(i).getData()).substring(start));
}
queue
パケットのリストからすべてのデータを取得し、それらすべてを 1 つの文字列にまとめようとしています。
しかし、2 番目 (その下の行と同じ) に到達するたびにprintln
、プログラムはハングし、何もしません。
getData()
印刷なしで動作します。例えば。
System.out.printlin("2: This doesn't: " + new String(queue.get(i)));
また、キューにパケットを追加するたびに、キュー内の最後のパケットをすぐに印刷しますが、これは機能します。
public void addPacket(DatagramPacket additional)
{
queue.add(additional);
System.out.println("1: " + new String(queue.getLast().getData()));
}