UDP 経由で長い番号を送信します。
LinkedQueue Q = new LinkedQueue<ByteBuffer>();
while (this._run) {
udp_socket.receive(packet);
if (packet.getLength() > 0) {
ByteBuffer bb = ByteBuffer.wrap(buf, 0, packet.getLength());
Q.add(bb);
}
}
//udp クローズ。Queue からデータを削除しましたが、すべての ByteBuffers の値が同じです。
while(!Q.isEmpty){
ByteBuffer b = Q.remove();
b.getLong();//same value
}
同じ値を受け取るのはなぜですか? 提案はありますか?